實驗一 分治與遞歸—全排列 java算法

 全排列:

       R=r1,r2,r3……rn}是要排列的n個元素,Ri=R-ri}。集合X中元素的全排列記perm(X)

       源代碼:

 

import java.io.*;
import java.util.*;
 
 
public class SF_Quanpailie
{
       public static void main(String[] args)
       {
              int list[]={1,2,3,4};
              perm(list,0,4);
       }
 
       public static void  swap(int[] a,int i,int j){
              int temp=a[i];
              a[i]=a[j];
              a[j]=temp;
       }
 
       public static 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);
                     }
              }
       }
}


 

結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章