Sorting algorithms/Stooge sort: Difference between revisions

m
m (Undo revision 273214 by Chunes (talk) -- the algorithm already accounts for the need to round up)
Line 511:
</pre>
=={{header|Elena}}==
ELENA 3.4.x :
<lang elena>import extensions.;
import system'routines.;
extension op
{
stoogeSort()
= self .stoogeSort(0, self length.Length - 1).;
stoogeSort(IntNumber i, IntNumber j)
[{
if(self[j]<self[i])
[{
self .exchange(i,j)
].};
if (j - i > 1)
[{
int t := (j - i + 1) / 3.;
self .stoogeSort(i,j-t).;
self .stoogeSort(i+t,j).;
self .stoogeSort(i,j-t).
]}
]}
}
public program()
{
[
var list := new Range(0, to:15 repeat(:n).selectBy:(randomGeneratorn => randomGenerator.eval(20)); toArray.toArray();
console .printLine("before:", list).asEnumerable());
console .printLine("after:", list .stoogeSort().asEnumerable())
]}</lang>
{{out}}
<pre>
Anonymous user