龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > python编程 >

python不带重复的全排列代码

时间:2014-05-17 02:23来源:网络整理 作者:网络 点击:
分享到:
输入起始数字和结束数字将数组全排列,需要的朋友可以参考下
代码如下:

from sys import argv
script, start, end = argv
vis = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
ans = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
def dfs(cur, m):
 ans[cur] = m
 if cur == int(end) - int(start) + 1:
  for i in xrange(int(start), int(end) + 1):
   print ans[i],
  print
  return
 cur = cur + 1
 for i in xrange(int(start), int(end) + 1):
  if vis[i] == False:
   vis[i] = True
   dfs(cur, i)
   vis[i] = False

for i in xrange(1, len(vis)):
 vis[i] = False
dfs(0, start) 
精彩图集

赞助商链接