/**
* 【算法类】javascript快速排序
*
* --- 测试 ---
* var val=quickSort([1,7,23,4,57])
* console.log(val) //结果: [1,4,7,23,57]
*
* --- 解惑 ---
* 疑问:快速排序是稳定的吗?
* 解答:每次选择会导致快排是不稳定排序。
*/
const quickSort = (nums) => {
if (nums.length < 2) {
return nums;
} else {
var left = [];
var right = [];
var pivot = Math.floor(nums.length / 2); // Math.floor 向下取整
var base = nums.splice(pivot, 1)[0];
for (let i = 0; i < nums.length; i++) {
if (nums[i] < base) {
left.push(nums[i]);
} else {
right.push(nums[i]);
}
}
}
return quickSort(left).concat([base], quickSort(right));
}
【算法类】javascript快速排序
最新推荐文章于 2024-04-26 16:47:03 发布