@kuzanatoliorg/algorithms
Version:
The utils package for react testing library
22 lines (21 loc) • 837 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.stoogeSort = void 0;
const utils_1 = require("../utils");
const stoogeSort = (arr, comparator = utils_1.defaultComparator, order = true, first = 0, last = arr.length - 1) => {
if (order
? comparator(arr[last], arr[first])
: comparator(arr[first], arr[last])) {
const temp = arr[first];
arr[first] = arr[last];
arr[last] = temp;
}
if (last - first > 1) {
const temp = Math.floor((last - first + 1) / 3);
(0, exports.stoogeSort)(arr, comparator, order, first, last - temp);
(0, exports.stoogeSort)(arr, comparator, order, first + temp, last);
(0, exports.stoogeSort)(arr, comparator, order, first, last - temp);
}
return arr;
};
exports.stoogeSort = stoogeSort;