Sorting algorithms/Stooge sort: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: placed the generating code in a subroutine, used a template for the output section, changed wording in the REXX header section.) |
(Add Factor example) |
||
Line 610: | Line 610: | ||
<pre>{875,616,725,922,463,740,949,476,697,455} |
<pre>{875,616,725,922,463,740,949,476,697,455} |
||
{455,463,476,616,697,725,740,875,922,949} |
{455,463,476,616,697,725,740,875,922,949} |
||
</pre> |
|||
=={{header|Factor}}== |
|||
<lang factor>USING: combinators.extras kernel locals math prettyprint |
|||
sequences ; |
|||
IN: rosetta-code.stooge-sort |
|||
:: (stooge-sort) ( seq i j -- ) |
|||
j i [ seq nth ] bi@ < [ |
|||
j i seq exchange |
|||
] when |
|||
j i - 1 > [ |
|||
j i - 1 + 3 /i :> t |
|||
seq i j t - |
|||
seq i t + j |
|||
seq i j t - [ (stooge-sort) ] thrice |
|||
] when ; |
|||
: stooge-sort ( seq -- seq' ) |
|||
dup 0 over length 1 - (stooge-sort) ; |
|||
{ 1 4 5 3 -6 3 7 10 -2 -5 } stooge-sort .</lang> |
|||
{{out}} |
|||
<pre> |
|||
{ -6 -5 -2 1 3 3 4 5 7 10 } |
|||
</pre> |
</pre> |
||