Sorting algorithms/Stooge sort: Difference between revisions

added RPL
(added Easylang)
(added RPL)
(4 intermediate revisions by 4 users not shown)
Line 25:
{{trans|Python}}
 
<syntaxhighlight lang="11l">F stoogesort(&l, i, j) -> NVoid
I l[j] < l[i]
swap(&l[i], &l[j])
Line 702:
 
=={{header|EasyLang}}==
<syntaxhighlight lang=easylang>
proc stsort left right . d[] .
if d[left] > d[right]
Line 715:
.
for i = 1 to 100
d[] &= randomrandint 1000
.
stsort 1 len d[] d[]
Line 824:
public program()
{
var list := new Range(0, 15).selectBy::(n => randomGenerator.nextInt(20)).toArray();
console.printLine("before:", list.asEnumerable());
Line 2,251:
-31 0 1 2 2 4 65 83 99 782
</pre>
 
=={{header|RPL}}==
« 0 → start end t
« DUP start GET OVER end GET
'''IF''' DUP2 > '''THEN'''
ROT start ROT PUT
end ROT PUT
'''ELSE''' DROP2 '''END'''
'''IF''' end start - 2 ≥ '''THEN'''
end start - 1 + 3 / FLOOR 't' STO
start end t - <span style="color:blue">STOOGESORT</span>
start t + end <span style="color:blue">STOOGESORT</span>
start end t - <span style="color:blue">STOOGESORT</span>
'''END'''
» » '<span style="color:blue">STOOGESORT</span>' STO <span style="color:grey">''@ ( { } start end → { } )''
 
{ 1 4 5 3 -6 3 7 10 -2 -5 7 5 9 -3 7 } 1 OVER SIZE <span style="color:blue">STOOGESORT</span>
{{out}}
<pre>
1: { -6 - 5 -3 -2 1 3 3 4 5 5 7 7 7 9 10 }
</pre>
Stooge sort is 436 times slower than the built-in <code>SORT</code> function on an HP-50g.
 
=={{header|Ruby}}==
Line 2,541 ⟶ 2,563:
 
=={{header|Wren}}==
<syntaxhighlight lang="ecmascriptwren">var stoogeSort // recursive
stoogeSort = Fn.new { |a, i, j|
if (a[j] < a[i]) {
Line 2,556 ⟶ 2,578:
}
 
var asarray = [ [4, 65, 2, -31, 0, 99, 2, 83, 782, 1], [7, 5, 2, 6, 1, 4, 2, 6, 3] ]
for (a in asarray) {
System.print("Before: %(a)")
stoogeSort.call(a, 0, a.count-1)
1,151

edits