python实现算法:全排列算法

代码部分

#test.py

def swap(arr, i, j):
	tmp = arr[i]
	arr[i] = arr[j]
	arr[j] = tmp

def show(arr,n):
	for i in rang(0,n):
		print(arr[i],'\t',end=' ')

//全排列部分
def perm(arr, p, q):
	if p==q:
		show(arr,q+1)
		print('\n')
	for i in range(p, q+1):
		swap(arr, p, i)
		perm(arr, p, q+1)
		swap(arr, p, i)

arr = ['a', 'b', 'c']
perm(arr, 0, 2)

执行结果:
全排列结果


版权声明:本文为ASJBFJSB原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。