function quickSort(nums, left, right) {
if (left >= right) return;
let p = findPlace(nums, left, right);//查找某个元素在整个数组中的位置
quickSort(nums, left, p - 1) //依次递归查询两端的元素的位置
quickSort(nums, p + 1, right);
}
function findPlace(nums, left, right) {
let k = right;
while (left < right) {
while (left < right && nums[left] <= nums[k]) {
left++;
}
while (left < right && nums[right] >= nums[k]) {
right--;
}
swap(nums, left, right)
}
swap(nums, k, left);
return left;
}
function swap(nums, i, j) { //交换数组中两个位置
let temp = nums[i];
nums[i] = nums[j];
nums[j] = temp
}