23 lines
477 B
JavaScript
23 lines
477 B
JavaScript
const quick_sort = (arr) => {
|
|
if (arr.length < 2) {
|
|
return arr;
|
|
}
|
|
|
|
const pivot = arr[0];
|
|
const less = [];
|
|
const greater = [];
|
|
|
|
for (let i = 1; i < arr.length; i++) {
|
|
const candidate = arr[i];
|
|
if (candidate < pivot) {
|
|
less.push(candidate)
|
|
} else {
|
|
greater.push(candidate);
|
|
}
|
|
}
|
|
|
|
return [quick_sort(less), pivot, quick_sort(greater)].flat();
|
|
}
|
|
|
|
const res = quick_sort([1, 234, 21, 4, 211, 4, 63, 12, 84, 2])
|
|
console.log('res', res); |