Permutations: Difference between revisions

Content added Content deleted
(→‎{{header|Python}}: with destructive list updates)
Line 5,058: Line 5,058:
(2, 0, 1)
(2, 0, 1)
(2, 1, 0)</lang>
(2, 1, 0)</lang>

=== Implementation using destructive list updates ===
<lang python>
def permutations(xs):
ac = [[]]
for x in xs:
ac_new = []
for ts in ac:
for n in range(0,ts.__len__()+1):
new_ts = ts[:] #(shallow) copy of ts
new_ts.insert(n,x)
ac_new.append(new_ts)
ac=ac_new
return ac

print(permutations([1,2,3,4]))
</lang>


=={{header|Qi}}==
=={{header|Qi}}==