快速排序完整代码
/**
* @param arr[Array] 排序的数组
* @param start[Number] 数组起始位置
* @param end[Number] 数组结束位置
* @description 快速排序算法 从小到大
*/
quickSort(arr,start, end){
if(start >= end) return;
let left = start, right = end;
let key = arr[left];
while(left < right){
let firstLeft = left;
while(left < right && key < arr[right]) right--;
while(left < right && arr[left] < key) left++;
arr[firstLeft] = arr[right]
arr[right] = arr[left];
}
arr[left] = key;
this.quickSort(arr, start, left);
this.quickSort(arr, left+1, end);
}
// 调用方式
let arr = [9,3,1,7,8,0,6];
this.quickSort(this.arr, 0, this.arr.length-1);