实验一 分治与递归—全排列 java算法




 全排列:

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

       源代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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);
                     }
              }
       }
}


 

结果:

 

实验一 分治与递归—全排列 java算法



本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/818750

上一篇:Proxycap对打印的影响


下一篇:Windows 10便笺更新 修复中文/日文输入问题