快排

快排

//Util.java
 
package wkx;
 
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;
 
public class Util {
	public static void genneralRandomNum(int len) {
		Random r = new Random(new Date().getTime());
		while (len-- != 0)
			System.out.println(r.nextInt(1000));
	}
 
	private static int ans[] = new int[11];
	private static boolean visit[] = new boolean[11];
 
	private static void DFS(int dept,int n,PrintWriter out) throws IOException{
		for(int i=1;i<=n;i++){
			if(!visit[i]){
				visit[i]=true;
				ans[dept]=i;
				if(dept<n){
					DFS(dept+1,n,out);
				}else{
					for(int j=1;j<=n;j++)
						out.print(ans[j]);
					out.println();
					/*for(int j=1;j<=n;j++)
						System.out.print(ans[j]);
					System.out.println();*/
					
				}
				visit[i]=false;
			}
		}
	}
 
	public static void genneralFullArray(int n) throws IOException {
		PrintWriter out=Util.getWriter();
		Util.DFS(1, n,out);
		out.close();
	}
 
	public static Scanner getReader() throws FileNotFoundException {
		return new Scanner(new FileInputStream(
				"C:\\Users\\Jack\\Desktop\\input.txt"));
	}
 
	public static BufferedReader getBufferReader() throws FileNotFoundException {
		return new BufferedReader(new FileReader(
				"C:\\Users\\Jack\\Desktop\\input.txt"));
	}
 
	public static PrintWriter getWriter() throws IOException {
		return new PrintWriter(new FileWriter(
				"C:\\Users\\Jack\\Desktop\\output.txt"));
	}
 
	public static void close(Scanner io) {
		if (io != null)
			io.close();
	}
 
	public static void close(BufferedReader io) throws IOException {
		if (io != null)
			io.close();
	}
 
	public static void close(PrintWriter io) {
		if (io != null)
			io.close();
	}
 
}
 
//Sort.java
 
 
package wkx;
 
import java.util.List;
 
public class Sort {
 
	private static int partition(List<Integer> list, int beg, int end) {
		// 随机化
 
		int temp = list.get(beg);
		while (beg < end) {
			while (beg < end && list.get(end) >= temp)
				end--;
			list.set(beg, list.get(end));
			while (beg < end && list.get(beg) <= temp)
				beg++;
			list.set(end, list.get(beg));
		}
		list.set(beg, temp);
		return beg;
	}
 
	public static void qSort(List<Integer> list, int beg, int end) {
		// Collections.sort(list);
		if (beg >= end)
			return;
		int mid = partition(list, beg, end);
		qSort(list, beg, mid - 1);
		qSort(list, mid + 1, end);
	}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注