全排列:
设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