@kuzanatoliorg/algorithms
Version:
The utils package for react testing library
23 lines (22 loc) • 772 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.quickSort = void 0;
const utils_1 = require("../utils");
const quickSort = (arr, comparator = utils_1.defaultComparator, order = true) => {
if (arr.length > 1) {
const pivot = arr[0];
const left = [];
const right = [];
for (let i = 1; i < arr.length; i++) {
if (order ? comparator(arr[i], pivot) : comparator(pivot, arr[i])) {
left.push(arr[i]);
}
else {
right.push(arr[i]);
}
}
return (0, exports.quickSort)(left, comparator, order).concat(pivot, (0, exports.quickSort)(right, comparator, order));
}
return arr;
};
exports.quickSort = quickSort;