SOURCE

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)
console 命令行工具 X clear

                    
>
console