function quickSort(array) {if (array.length <= 1) {return array;}const midIndex = Math.floor(array.length / 2);//先找出一个值(一般取中间位置的值),并从原数组中排除该值const mid = array.splice(midIndex, 1)[0];const left = [];const right = [];//遍历排除该值的数组//比该值小的放到左边,比该值大的放到该值右边for (let i = 0; i < array.length; i++) {if (array[i] < mid) {left.push(array[i]);} else {right.push(array[i]);}}//分别递归比该值小的左数组和比该值大的右数组//最终根据顺序拼接成新数组return quickSort(left).concat([mid], quickSort(right));}
