全排列:
设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);
}
}
}
} |
结果:
本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/818750