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)