python写的,想了一上午只能写成这样,遍历是都遍历过了,但感觉少了点什么
def qpl(sz, chuanru):
if len(sz) == 1:
print(chuanru, end='')
print(sz[0])
return
else:
for x in range(0, len(sz)):
if chuanru:
print(chuanru, end='')
if x == 0:
# print(sz[0], end='')
new_array = sz[1:]
qpl(new_array, sz[0])
else:
temp = sz[0]
sz[0] = sz[x]
sz[x] = temp
# print(sz[0], end='')
new_array = sz[1:]
qpl(new_array, sz[0])
def main():
a = [1, 2, 3, 4]
qpl(a, chuanru=None)
main()
修改了一下,写出来了,很感动,把输出想成一次性的,就好了
def qpl(sz, index):
if len(sz) == index:
print(sz)
return
else:
for x in range(index, len(sz)):
if x == 0:
new_array = sz[:]
qpl(new_array, index + 1)
else:
temp = sz[0]
sz[0] = sz[x]
sz[x] = temp
new_array = sz[:]
qpl(new_array, index + 1)
def main():
a = [1, 2, 3, 4]
qpl(a, 0)
main()