例如 输入字符串abc, 则打印出由字符a,b,c所能排列出来的所有字符串 abc,acb,bac,bca,cab,cba
num
= 1
def sort(str_list
,k
,m
):
if k
== m
:
global num
print(num
,str_list
)
num
+= 1
else:
for i
in range(k
,m
+1):
str_list
[i
], str_list
[k
] = str_list
[k
], str_list
[i
]
sort
(str_list
, k
+1, m
)
str_list
[i
], str_list
[k
] = str_list
[k
], str_list
[i
]
if __name__
== '__main__':
str_list
= ['a', 'b', 'c']
sort
(str_list
, 0, len(str_list
)-1)
输出结果:
1 ['a', 'b', 'c']
2 ['a', 'c', 'b']
3 ['b', 'a', 'c']
4 ['b', 'c', 'a']
5 ['c', 'b', 'a']
6 ['c', 'a', 'b']