快速排序
- 取一个基准值
- 根据基准值分出来 小于基准值的数组 和 大于基准值的数组
- 进入递归
- 当递归的数组小于2个时,跳出递归,将这个数组返回
- 最后将每个数组拼接在一起
代码实现:
function quickSort(arr) {
// 跳出递归的基准条件
if(arr.length < 2) return arr;
// 基准值选为数组的第一项
const goal = arr[0];
const minArr = arr.slice(1).filter(item => item <= goal);
const maxArr = arr.slice(1).filter(item => item > goal);
return quickSort(minArr).concat(goal).concat(quickSort(maxArr));
}