分析
快速排序采用的是分治策略。
对一项复杂的任务,进行拆分成不同的小任务。直至到达基线条件,终止拆分。
每次递归操作,都会让任务更靠近基线条件。
代码实现
function quickSort(arr){if(arr.length <2){return arr}else{// pivot获取数组的第一个元素,并且要在原数组中移除let left = [], right=[], pivot = arr.splice(0,1)[0];for(let i=0; i< arr.length; i++){if(arr[i]<pivot){left.push(arr[i])} else {right.push(arr[i])}}return [...quickSort(left), pivot, ...quickSort(right)]}}
