python 全排列 1~n

全排列是将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)




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值