function quickSort(arr, i, j) {
if(i>=j) return
let left = i;
let right = j;
let pivot = arr[left];
while(i < j) {
while(arr[j] >= pivot && i < j) { // 从后往前找比基准小的数
j--;
}
while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数
i++;
}
if(i<j){
[arr[i],arr[j]] = [arr[j],arr[i]]
}
}
[arr[i],arr[left]] = [arr[left],arr[i]]
quickSort(arr, left, i-1);
quickSort(arr, i+1, right);
return arr;
}
let arr = [2, 10, 4, 1, 0, 9, 5 ,2];
console.log(quickSort(arr, 0 , arr.length-1));
console.log(arr)