假设a数组含有1,2,...,n,求其全排列。
public class Main {
public static void main(String args[]){
int[] a={1,2,3};
perm(a,3,2);
}
private static void perm(int[] a, int n, int k) {
if(k==0){
for(int i=0;i<n;i++){
System.out.print(a[i]);
}
System.out.println();
}else{
for (int i=0;i<=k;i++){
swap(a,i,k);
perm(a,n,k-1);
swap(a,i,k);
}
}
}
private static void swap(int[] a,int x, int y) {
int temp;
temp=a[x];
a[x]=a[y];
a[y]=temp;
}
}