数列全排列问题----递归实现--JAVA
public class PaiLie { /** * @param args */ public static void main(String[] args) { PaiLie p=new PaiLie(); int a[]={1,2,3,4}; p.Perm(a, 0, 3); } public void Perm(int list[],int k,int m){ if(k==m){ for(int i=0;i<=m;i++) System.out.print(list[i]); System.out.println(); }else{ for(int i=k;i<=m;i++){ Swap(list, k, i); Perm(list, k+1, m); Swap(list, k, i); } } } public void Swap(int[] list,int i,int j){ int temp=list[i]; list[i]=list[j]; list[j]=temp; } }
本题采用递归实现。