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)