Почему не работает быстрая сортировка в JS
Вот код быстрой сортировки, в чем ошибка, что он не работает?
function swap(a, b) {
return [b,a];
}
function partition(array, l, r) {
let pivot = array[(l + r) / 2];
let i = l;
let j = r;
while (i <= j) {
while (array[i] < pivot)
i++;
while (array[j] > pivot)
j++;
if(i >= j)
return j;
[array[i], array[j]] = swap([array[i]], array[j]);
}
}
function qsort(arr, left, right) {
if (left < right) {
let q = partition(arr, left, right)
qsort(arr, left, q);
qsort(arr, q + 1, right);
}
}
let array = [5,3,2,1,6,7];
qsort(array, 0, array.length - 1)