快速排序算法总结
快速排序算法的思想,实际上就是一个递归函数。
如果元素个数小于两个,则直接返回这个数组,否则,选择一个值,然后依据这个值,将数组分成数组,两个数组的元素分别小于这个值和大于这个值。然后对两个数组递归排序。
快速排序算法关键词: 数组小于两个元素,则直接返回,否则拆分再递归
代码:
const array = [1,223,21,11,23,124,213,1241,1,1,1,2,45,2123,5,677,2,2,6,84,75,9,0,-123,2,8];
function quickSort(array){
if(array.length<2){
return array;
}
let flag = array[0];
let left = [];
let right = [];
for(let i = 1;i<array.length;i++){
if(array[i]<flag){
left.push(array[i]);
}else{
right.push(array[i])
}
}
return quickSort(left).concat([flag]).concat(quickSort(right));
}
console.log(quickSort(array));

浙公网安备 33010602011771号