Permutations by swapping: Difference between revisions
Content added Content deleted
(Add Nimrod) |
|||
Line 747: | Line 747: | ||
=={{header|Nimrod}}== |
=={{header|Nimrod}}== |
||
<lang nimrod># iterative Boothroyd method |
<lang nimrod># iterative Boothroyd method |
||
iterator permutations[T](ys: openarray[T]): tuple[perm: seq[T], sign: int] = |
iterator permutations*[T](ys: openarray[T]): tuple[perm: seq[T], sign: int] = |
||
var |
var |
||
d = 1 |
d = 1 |
||
Line 772: | Line 772: | ||
inc c[d] |
inc c[d] |
||
if isMainModule: |
|||
for i in permutations([0,1,2]): |
for i in permutations([0,1,2]): |
||
echo i |
echo i |
||
echo "" |
echo "" |
||
for i in permutations([0,1,2,3]): |
for i in permutations([0,1,2,3]): |
||
echo i</lang> |
echo i</lang> |
||
Output: |
Output: |
||
<pre>(perm: @[0, 1, 2], sign: 1) |
<pre>(perm: @[0, 1, 2], sign: 1) |