快速排序完整代码
/**
* @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);
快速排序算法详解
本文介绍了一种经典的排序算法——快速排序,并提供了完整的实现代码。快速排序通过选取基准元素并进行分区来递归地对数组进行排序,具有较高的效率。
768

被折叠的 条评论
为什么被折叠?



