用递归的方法全排列。例如求0~5之间的所有输出组合。
public class fullList {
static int n = 5;
static int[] a = new int[n + 1];
static int[] book = new int[n + 1];
// int step = 1;
public static void main(String[] args) {
dnf(0);
}
public static void dnf(int step) {
if (step == (n + 1)) {
for (int i = 0; i <= n; i++) {
System.out.print(a[i] + " ");
}
System.out.print("\n");
return;
}
for (int i = 0; i < n + 1; i++) {
if (book[i] == 0) {
book[i] = 1;
a[step] = i;
dnf(step + 1);
book[i] = 0;
}
}
return;
}
}
输出结果为:
0 1 2 3 4 5
0 1 2 3 5 4
0 1 2 4 3 5
0 1 2 4 5 3
0 1 2 5 3 4
0 1 2 5 4 3
0 1 3 2 4 5
0 1 3 2 5 4
0 1 3 4 2 5
0 1 3 4 5 2
0 1 3 5 2 4
0 1 3 5 4 2
0 1 4 2 3 5
0 1 4 2 5 3
0 1 4 3 2 5
0 1 4 3 5 2
0 1 4 5 2 3
0 1 4 5 3 2
0 1 5 2 3 4
0 1 5 2 4 3
0 1 5 3 2 4
0 1 5 3 4 2
0 1 5 4 2 3
0 1 5 4 3 2
0 2 1 3 4 5
0 2 1 3 5 4
0 2 1 4 3 5
0 2 1 4 5 3
0 2 1 5 3 4
0 2 1 5 4 3
0 2 3 1 4 5
0 2 3 1 5 4
0 2 3 4 1 5
0 2 3 4 5 1
0 2 3 5 1 4
0 2 3 5 4 1
0 2 4 1 3 5
0 2 4 1 5 3
0 2 4 3 1 5
0 2 4 3 5 1
0 2 4 5 1 3
0 2 4 5 3 1
0 2 5 1 3 4
0 2 5 1 4 3
0 2 5 3 1 4
0 2 5 3 4 1
0 2 5 4 1 3
0 2 5 4 3 1
0 3 1 2 4 5
0 3 1 2 5 4
0 3 1 4 2 5
0 3 1 4 5 2
0 3 1 5 2 4
0 3 1 5 4 2
0 3 2 1 4 5
0 3 2 1 5 4
0 3 2 4 1 5
0 3 2 4 5 1
0 3 2 5 1 4
0 3 2 5 4 1
0 3 4 1 2 5
0 3 4 1 5 2
0 3 4 2 1 5
0 3 4 2 5 1
0 3 4 5 1 2
0 3 4 5 2 1
0 3 5 1 2 4
0 3 5 1 4 2
0 3 5 2 1 4
0 3 5 2 4 1
0 3 5 4 1 2
0 3 5 4 2 1
0 4 1 2 3 5
0 4 1 2 5 3
0 4 1 3 2 5
0 4 1 3 5 2
0 4 1 5 2 3
0 4 1 5 3 2
0 4 2 1 3 5
0 4 2 1 5 3
0 4 2 3 1 5
0 4 2 3 5 1
0 4 2 5 1 3
0 4 2 5 3 1
0 4 3 1 2 5
0 4 3 1 5 2
0 4 3 2 1 5
0 4 3 2 5 1
0 4 3 5 1 2
0 4 3 5 2 1
0 4 5 1 2 3
0 4 5 1 3 2
0 4 5 2 1 3
0 4 5 2 3 1
0 4 5 3 1 2
0 4 5 3 2 1
0 5 1 2 3 4
0 5 1 2 4 3
0 5 1 3 2 4
0 5 1 3 4 2
0 5 1 4 2 3
0 5 1 4 3 2
0 5 2 1 3 4
0 5 2 1 4 3
0 5 2 3 1 4
0 5 2 3 4 1
0 5 2 4 1 3
0 5 2 4 3 1
0 5 3 1 2 4
0 5 3 1 4 2
0 5 3 2 1 4
0 5 3 2 4 1
0 5 3 4 1 2
0 5 3 4 2 1
0 5 4 1 2 3
0 5 4 1 3 2
0 5 4 2 1 3
0 5 4 2 3 1
0 5 4 3 1 2
0 5 4 3 2 1
1 0 2 3 4 5
1 0 2 3 5 4
1 0 2 4 3 5
1 0 2 4 5 3
1 0 2 5 3 4
1 0 2 5 4 3
1 0 3 2 4 5
1 0 3 2 5 4
1 0 3 4 2 5
1 0 3 4 5 2
1 0 3 5 2 4
1 0 3 5 4 2
1 0 4 2 3 5
1 0 4 2 5 3
1 0 4 3 2 5
1 0 4 3 5 2
1 0 4 5 2 3
1 0 4 5 3 2
1 0 5 2 3 4
1 0 5 2 4 3
1 0 5 3 2 4
1 0 5 3 4 2
1 0 5 4 2 3
1 0 5 4 3 2
1 2 0 3 4 5
1 2 0 3 5 4
1 2 0 4 3 5
1 2 0 4 5 3
1 2 0 5 3 4
1 2 0 5 4 3
1 2 3 0 4 5
1 2 3 0 5 4
1 2 3 4 0 5
1 2 3 4 5 0
1 2 3 5 0 4
1 2 3 5 4 0
1 2 4 0 3 5
1 2 4 0 5 3
1 2 4 3 0 5
1 2 4 3 5 0
1 2 4 5 0 3
1 2 4 5 3 0
1 2 5 0 3 4
1 2 5 0 4 3
1 2 5 3 0 4
1 2 5 3 4 0
1 2 5 4 0 3
1 2 5 4 3 0
1 3 0 2 4 5
1 3 0 2 5 4
1 3 0 4 2 5
1 3 0 4 5 2
1 3 0 5 2 4
1 3 0 5 4 2
1 3 2 0 4 5
1 3 2 0 5 4
1 3 2 4 0 5
1 3 2 4 5 0
1 3 2 5 0 4
1 3 2 5 4 0
1 3 4 0 2 5
1 3 4 0 5 2
1 3 4 2 0 5
1 3 4 2 5 0
1 3 4 5 0 2
1 3 4 5 2 0
1 3 5 0 2 4
1 3 5 0 4 2
1 3 5 2 0 4
1 3 5 2 4 0
1 3 5 4 0 2
1 3 5 4 2 0
1 4 0 2 3 5
1 4 0 2 5 3
1 4 0 3 2 5
1 4 0 3 5 2
1 4 0 5 2 3
1 4 0 5 3 2
1 4 2 0 3 5
1 4 2 0 5 3
1 4 2 3 0 5
1 4 2 3 5 0
1 4 2 5 0 3
1 4 2 5 3 0
1 4 3 0 2 5
1 4 3 0 5 2
1 4 3 2 0 5
1 4 3 2 5 0
1 4 3 5 0 2
1 4 3 5 2 0
1 4 5 0 2 3
1 4 5 0 3 2
1 4 5 2 0 3
1 4 5 2 3 0
1 4 5 3 0 2
1 4 5 3 2 0
1 5 0 2 3 4
1 5 0 2 4 3
1 5 0 3 2 4
1 5 0 3 4 2
1 5 0 4 2 3
1 5 0 4 3 2
1 5 2 0 3 4
1 5 2 0 4 3
1 5 2 3 0 4
1 5 2 3 4 0
1 5 2 4 0 3
1 5 2 4 3 0
1 5 3 0 2 4
1 5 3 0 4 2
1 5 3 2 0 4
1 5 3 2 4 0
1 5 3 4 0 2
1 5 3 4 2 0
1 5 4 0 2 3
1 5 4 0 3 2
1 5 4 2 0 3
1 5 4 2 3 0
1 5 4 3 0 2
1 5 4 3 2 0
2 0 1 3 4 5
2 0 1 3 5 4
2 0 1 4 3 5
2 0 1 4 5 3
2 0 1 5 3 4
2 0 1 5 4 3
2 0 3 1 4 5
2 0 3 1 5 4
2 0 3 4 1 5
2 0 3 4 5 1
2 0 3 5 1 4
2 0 3 5 4 1
2 0 4 1 3 5
2 0 4 1 5 3
2 0 4 3 1 5
2 0 4 3 5 1
2 0 4 5 1 3
2 0 4 5 3 1
2 0 5 1 3 4
2 0 5 1 4 3
2 0 5 3 1 4
2 0 5 3 4 1
2 0 5 4 1 3
2 0 5 4 3 1
2 1 0 3 4 5
2 1 0 3 5 4
2 1 0 4 3 5
2 1 0 4 5 3
2 1 0 5 3 4
2 1 0 5 4 3
2 1 3 0 4 5
2 1 3 0 5 4
2 1 3 4 0 5
2 1 3 4 5 0
2 1 3 5 0 4
2 1 3 5 4 0
2 1 4 0 3 5
2 1 4 0 5 3
2 1 4 3 0 5
2 1 4 3 5 0
2 1 4 5 0 3
2 1 4 5 3 0
2 1 5 0 3 4
2 1 5 0 4 3
2 1 5 3 0 4
2 1 5 3 4 0
2 1 5 4 0 3
2 1 5 4 3 0
2 3 0 1 4 5
2 3 0 1 5 4
2 3 0 4 1 5
2 3 0 4 5 1
2 3 0 5 1 4
2 3 0 5 4 1
2 3 1 0 4 5
2 3 1 0 5 4
2 3 1 4 0 5
2 3 1 4 5 0
2 3 1 5 0 4
2 3 1 5 4 0
2 3 4 0 1 5
2 3 4 0 5 1
2 3 4 1 0 5
2 3 4 1 5 0
2 3 4 5 0 1
2 3 4 5 1 0
2 3 5 0 1 4
2 3 5 0 4 1
2 3 5 1 0 4
2 3 5 1 4 0
2 3 5 4 0 1
2 3 5 4 1 0
2 4 0 1 3 5
2 4 0 1 5 3
2 4 0 3 1 5
2 4 0 3 5 1
2 4 0 5 1 3
2 4 0 5 3 1
2 4 1 0 3 5
2 4 1 0 5 3
2 4 1 3 0 5
2 4 1 3 5 0
2 4 1 5 0 3
2 4 1 5 3 0
2 4 3 0 1 5
2 4 3 0 5 1
2 4 3 1 0 5
2 4 3 1 5 0
2 4 3 5 0 1
2 4 3 5 1 0
2 4 5 0 1 3
2 4 5 0 3 1
2 4 5 1 0 3
2 4 5 1 3 0
2 4 5 3 0 1
2 4 5 3 1 0
2 5 0 1 3 4
2 5 0 1 4 3
2 5 0 3 1 4
2 5 0 3 4 1
2 5 0 4 1 3
2 5 0 4 3 1
2 5 1 0 3 4
2 5 1 0 4 3
2 5 1 3 0 4
2 5 1 3 4 0
2 5 1 4 0 3
2 5 1 4 3 0
2 5 3 0 1 4
2 5 3 0 4 1
2 5 3 1 0 4
2 5 3 1 4 0
2 5 3 4 0 1
2 5 3 4 1 0
2 5 4 0 1 3
2 5 4 0 3 1
2 5 4 1 0 3
2 5 4 1 3 0
2 5 4 3 0 1
2 5 4 3 1 0
3 0 1 2 4 5
3 0 1 2 5 4
3 0 1 4 2 5
3 0 1 4 5 2
3 0 1 5 2 4
3 0 1 5 4 2
3 0 2 1 4 5
3 0 2 1 5 4
3 0 2 4 1 5
3 0 2 4 5 1
3 0 2 5 1 4
3 0 2 5 4 1
3 0 4 1 2 5
3 0 4 1 5 2
3 0 4 2 1 5
3 0 4 2 5 1
3 0 4 5 1 2
3 0 4 5 2 1
3 0 5 1 2 4
3 0 5 1 4 2
3 0 5 2 1 4
3 0 5 2 4 1
3 0 5 4 1 2
3 0 5 4 2 1
3 1 0 2 4 5
3 1 0 2 5 4
3 1 0 4 2 5
3 1 0 4 5 2
3 1 0 5 2 4
3 1 0 5 4 2
3 1 2 0 4 5
3 1 2 0 5 4
3 1 2 4 0 5
3 1 2 4 5 0
3 1 2 5 0 4
3 1 2 5 4 0
3 1 4 0 2 5
3 1 4 0 5 2
3 1 4 2 0 5
3 1 4 2 5 0
3 1 4 5 0 2
3 1 4 5 2 0
3 1 5 0 2 4
3 1 5 0 4 2
3 1 5 2 0 4
3 1 5 2 4 0
3 1 5 4 0 2
3 1 5 4 2 0
3 2 0 1 4 5
3 2 0 1 5 4
3 2 0 4 1 5
3 2 0 4 5 1
3 2 0 5 1 4
3 2 0 5 4 1
3 2 1 0 4 5
3 2 1 0 5 4
3 2 1 4 0 5
3 2 1 4 5 0
3 2 1 5 0 4
3 2 1 5 4 0
3 2 4 0 1 5
3 2 4 0 5 1
3 2 4 1 0 5
3 2 4 1 5 0
3 2 4 5 0 1
3 2 4 5 1 0
3 2 5 0 1 4
3 2 5 0 4 1
3 2 5 1 0 4
3 2 5 1 4 0
3 2 5 4 0 1
3 2 5 4 1 0
3 4 0 1 2 5
3 4 0 1 5 2
3 4 0 2 1 5
3 4 0 2 5 1
3 4 0 5 1 2
3 4 0 5 2 1
3 4 1 0 2 5
3 4 1 0 5 2
3 4 1 2 0 5
3 4 1 2 5 0
3 4 1 5 0 2
3 4 1 5 2 0
3 4 2 0 1 5
3 4 2 0 5 1
3 4 2 1 0 5
3 4 2 1 5 0
3 4 2 5 0 1
3 4 2 5 1 0
3 4 5 0 1 2
3 4 5 0 2 1
3 4 5 1 0 2
3 4 5 1 2 0
3 4 5 2 0 1
3 4 5 2 1 0
3 5 0 1 2 4
3 5 0 1 4 2
3 5 0 2 1 4
3 5 0 2 4 1
3 5 0 4 1 2
3 5 0 4 2 1
3 5 1 0 2 4
3 5 1 0 4 2
3 5 1 2 0 4
3 5 1 2 4 0
3 5 1 4 0 2
3 5 1 4 2 0
3 5 2 0 1 4
3 5 2 0 4 1
3 5 2 1 0 4
3 5 2 1 4 0
........
下面省略