static int[] arr = { 1, 2, 3, 4, 5, 6 };
public static void main(String[] args) {
// TODO Auto-generated method stub
//确定第0位
sort(0);
}
private static void sort(int a) {
//递归出口,如果达到了第6位(123456)则输出 并返回
if (a == arr.length) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
System.out.println();
return;
}
for (int i = a; i < arr.length; i++) {
//交换第i位和第a位,
int t=arr[a];
arr[a]=arr[i];
arr[i]=t;
//确认下一位数的内容。
sort(a+1);
//回溯,保证下次深搜的时候的数组是正确的
t=arr[a];
arr[a]=arr[i];
arr[i]=t;
}
}
java递归实现全排列
最新推荐文章于 2023-03-19 18:41:35 发布