public class OriginalMethod {
/**
* 编写程序,求n个元素的全排列
*
* @不学无术
*/
public static void main(String[] args) {
int[] a = { 1, 2, 3 };
f(a, 0);
}
private static void f(int[] a, int i) {
if (i == a.length - 1) {
PrintArray(a);
return;
}
for (int j = i; j < a.length; j++) {
swap(a, j, i);
f(a, i + 1);
swap(a, j, i);
}
}
private static void swap(int[] a, int j, int i) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
private static void PrintArray(int[] a) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
}
/*
* Console:
* 1 2 3
* 1 3 2
* 2 1 3
* 2 3 1
* 3 2 1
* 3 1 2
*/
《求n个元素的全排列》
最新推荐文章于 2021-05-22 23:41:10 发布