验证地址:
https://leetcode-cn.com/problems/sort-an-array/submissions/
JS快速排序
/**快速排序 */
function quickSort(nums) {
function dfs(nums, begin_index, end_index) {
if(begin_index >= end_index){
return;
}
//选取一个pivot
let pivot = nums[begin_index];
let left = begin_index;
let right = end_index;
let kongbai = begin_index;
while (left < right) {
while ((nums[right] >= pivot)) {
right--;
}
if ((left < right) && (nums[right] < pivot)) {
nums[left] = nums[right];
left++;
kongbai = right;
}
while ((nums[left] <= pivot)) {
left++;
}
if ((left < right) && (nums[left] > pivot)) {
nums[right] = nums[left];
right--;
kongbai = left;
}
}
nums[kongbai] = pivot;
dfs(nums,begin_index,kongbai-1);
dfs(nums,kongbai+1,end_index);
}
dfs(nums,0,nums.length - 1);
return nums;
// console.log(nums,kongbai);
}