Пишу алгоритм быстрой сортировки. Сделал разбиение на опорный элемент, массив из меньших и больших элементов. Никак не могу понять в кокой момент нужно совершать выход из рекурсии и как при этом "склеить" массивы
let mas = [
1,
5,
3,
2,
0,
8
];
function separation(arr) {
if (arr.length < 2) {
return console.log(arr);
} else {
let average = Math.floor((arr.length - 1) / 2);
let left = [];
let right = [];
let center;
for (let i = 0; i < arr.length; i++) {
if (arr[i] < arr[average]) {
left.push(arr[i]);
} else if (arr[i] == arr[average]) {
center = arr[i];
} else {
right.push(arr[i]);
}
}
console.log(left, center, right);
separation(left);
separation(right);
}
}
separation(mas);
https://codepen.io/EroticDeer/pen/KKKagqV?editors=1111