输出数组的全排列

def swap(a, b):
    return b, a
 
def perminate(array, start, end):
    if start == end:
        print array
        return
 
    N = len(array)
 
    for i in range(start, N):
        array[i], array[start] = swap(array[i], array[start])
        perminate(array, start+1, end)
        array[i], array[start] = swap(array[i], array[start])
 
a = [1,2,3,4]
perminate(a, 0, len(a)-1)
posted @ 2013-03-22 10:47  ohscar  阅读(176)  评论(0编辑  收藏  举报