swap(nums, i, j) {
let tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
partition(nums, left, right) {
let i = left,
j = right;
while (i < j) {
while (i < j && nums[j] >= nums[left]) {
j -= 1;
}
while (i < j && nums[i] <= nums[left]) {
i += 1;
}
this.swap(nums, i, j);
}
this.swap(nums, i, left);
return i;
}
quickSort(nums, left, right) {
if (left >= right) return;
const pivot = this.partition(nums, left, right);
this.quickSort(nums, left, pivot - 1);
this.quickSort(nums, pivot + 1, right);
}
let arr = [64, 34, 25, 12, 22, 11, 90]
console.log('排序前的数组: ', arr)
let sortedArr = quickSort(arr,0, arr.length - 1)
console.log('排序后的数组: ', sortedArr)