Permutations: Difference between revisions

Added Bracmat
(Const-fixed second D entry)
(Added Bracmat)
Line 493:
ENDPROC</lang>
 
=={{header|Bracmat}}==
<lang> ( perm
= prefix List result original A Z
. !arg:(?.)
| !arg:(?prefix.?List:?original)
& :?result
& whl
' ( !List:%?A ?Z
& !result perm$(!prefix !A.!Z):?result
& !Z !A:~!original:?List
)
& !result
)
& out$(perm$(.a 2 "]" u+z);</lang>
Output:
<lang> (a 2 ] u+z.)
(a 2 u+z ].)
(a ] u+z 2.)
(a ] 2 u+z.)
(a u+z 2 ].)
(a u+z ] 2.)
(2 ] u+z a.)
(2 ] a u+z.)
(2 u+z a ].)
(2 u+z ] a.)
(2 a ] u+z.)
(2 a u+z ].)
(] u+z a 2.)
(] u+z 2 a.)
(] a 2 u+z.)
(] a u+z 2.)
(] 2 u+z a.)
(] 2 a u+z.)
(u+z a 2 ].)
(u+z a ] 2.)
(u+z 2 ] a.)
(u+z 2 a ].)
(u+z ] a 2.)
(u+z ] 2 a.)</lang>
=={{header|C}}==
See [[wp:Permutation#Systematic_generation_of_all_permutations|lexicographic generation]] of permutations.
483

edits