此例利用递归算法可将任给数组全排列打印
public class FullArrange{
static void swap(int i,int j,int[] a){
if(i!=j){
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
static void fullArrange(int[] a,int i){
if(i == (a.length-1)){
for(int m : a){
System.out.print(m);
}
System.out.println();
}
else{
int j;
for(j=i;j<a.length;j++){
swap(i,j,a);
fullArrange(a,i+1);
swap(i,j,a);
}
}
}
public static void main(String[] args) {
int[] a = {1,2,3};
fullArrange(a,0);
}
}