//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);
}
}