嘉盟

导航

数列全排列问题----递归实现--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;
    }
}

 

本题采用递归实现。

posted on 2018-03-12 11:38  嘉盟  阅读(113)  评论(0编辑  收藏  举报