快速排序
思路:取一个对比值,然后将他从原数组中取出,跟数组中剩下的值进行对比,需要创建两个数组,一个记录比值小的,一个记录比值大的
function quickSort(arr) {
if(arr.length < 2) return arr;
const middleIndex = Math.floor(arr.length / 2);
const middle = arr.splice(middleIndex, 1)[0];
const left = [], right = [];
for(let i of arr) {
middle > i ? left.push(i) : right.push(i);
}
return quickSort(left).concat(middle, quickSort(right));
}
行百里者半九十