const _quickSort = (array,s=0,e=array.length) => {
// 补全代码
const p = array[s];
let pi = s;if(e-s<=1)return;
for(let i=s+1;i<e;i++){
if(array[i]>p) continue
else {
array.splice(pi,0,array.splice(i,1)[0]);
pi+=1
}
};
_quickSort(array,s,pi)
_quickSort(array,pi+1,e)
return array
}
// 简单说明,利用第一个元素作为预测中间值,因为简单。
// 然后移动中间值的位置,直到左边的都比它小;
// 然后对左右的指定区间再进行排序
// 直接操作原数组,虽然是递归,但无额外增加的数组空间

京公网安备 11010502036488号