全排列问题的回溯解法:
public class Permute {
public int N;
public int[] X;
public static void main(String[] args) {
new Permute().test(4);
}
public void test(int _N){
N=_N;X=new int[N];
for(int i=0;i
backTrace(0);
}
public void backTrace(int t){
if(t==N-1){
for(int i=0;i
System.out.println();
return;
}
else{
for(int i=t;i
swap(X,t,i);
backTrace(t+1);
swap(X,t,i);
}
}
}
public void swap(int[] arr,int i,int j){
int temp=arr[i];arr[i]=arr[j];arr[j]=temp;
}
}