Sorting algorithms/Stooge sort: Difference between revisions

no edit summary
(Added uBasic/4tH version)
No edit summary
Line 1,399:
>>> stooge(data)
[-6, -5, -3, -2, 1, 3, 3, 4, 5, 5, 7, 7, 7, 9, 10]</lang>
 
=={{header|R}}==
<lang R>stoogesort = function(vect) {
i = 1
j = length(vect)
if(vect[j] < vect[i]) vect[c(j, i)] = vect[c(i, j)]
if(j - i > 1) {
t = (j - i + 1) %/% 3
vect[i:(j - t)] = stoogesort(vect[i:(j - t)])
vect[(i + t):j] = stoogesort(vect[(i + t):j])
vect[i:(j - t)] = stoogesort(vect[i:(j - t)])
}
vect
}
 
v = sample(21, 20)
k = stoogesort(v)
v
k</lang>
{{out}}
<pre>
[1] 13 5 20 16 11 19 17 7 9 14 21 18 2 10 1 6 8 4 15 12
[1] 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
</pre>
 
=={{header|Racket}}==