全排列是将1-n的一个排列看成一个数,然后按照字典的顺序从小到达的输出,
如1~5则是下面的一串:
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
1 2 4 5 3
1 2 5 3 4
4 5 2 1 3
4 5 2 3 1
4 5 3 1 2
4 5 3 2 1
5 1 2 3 4
5 1 2 4 3
5 1 3 2 4
5 1 3 4 2
源代码:
def print_permutation(n,A,cur):
if cur==n:
for i in xrange(0,n):
print A[i],
print ''
else:
for i in xrange(1,n+1):
ok=True
for j in xrange(0,cur):
if A[j]==i:
ok=False
break
if ok:
A[cur]=i
print_permutation(n,A,cur+1)
A=[0,0,0,0,0,0,0,0]
cur=0
n=5
print_permutation(n,A,cur)