思路:取一个对比值,然后将他从原数组中取出,跟数组中剩下的值进行对比,需要创建两个数组,一个记录比值小的,一个记录比值大的
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));
}
标签:arr,right,const,quickSort,middle,排序,快速,left
From: https://www.cnblogs.com/taosifan/p/17007840.html