1.用递归实现数据全排列,以数字为例
2.两种实现如下
public static void f(int i) { if(i>5) { System.out.println(list); }else for(int j=1;j<=5;j++) { if(!arr[j]) {list.add(j); arr[j]=true; f(i+1); arr[j]=false; list.remove(list.size()-1); } } } private static void f1(int i,int[] num) { if(i==4) System.out.println(Arrays.toString(num)); else { for(int j=i;j<=4;j++) { int t=num[i]; num[i]=num[j]; num[j]=t; f1(i+1,num); num[j]=num[i]; num[i]=t; } } }