Sorting algorithms/Stooge sort
Solutions
Solution 1 (Click to Show/Hide)
function stoogeSort(arr) {
function stoogeSortRecurse(array, i, j) {
if (j === undefined) {
j = array.length - 1;
}
if (i === undefined) {
i = 0;
}
if (array[j] < array[i]) {
var aux = array[i];
array[i] = array[j];
array[j] = aux;
}
if (j - i > 1) {
var t = Math.floor((j - i + 1) / 3);
stoogeSortRecurse(array, i, j - t);
stoogeSortRecurse(array, i + t, j);
stoogeSortRecurse(array, i, j - t);
}
}
stoogeSortRecurse(arr);
return arr;
}