function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
let num = Math.floor(arr.length / 2); // 防止奇数,去掉小数
let numValue = arr.splice(num, 1); // 获取最初的基准值
let left = [];
let right = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < numValue) {
left.push(arr[i]); // 比基准值小,那么就加入小的
} else {
right.push(arr[i]); // 比基准值大,那么就加入大的
}
}
// 递归,不要忘记我们的基准值了
return quickSort(left).concat([numValue], quickSort(right));
}
console.log(quickSort([6,5,4,3,2,1,1,99,0]));
JavaScript快速排序
最新推荐文章于 2024-04-06 18:26:38 发布