// 快速排序
function qs(array) {
// 7. 设置结束条件
if (array.length <= 1) {
return array;
}
// 1. 找下标
var ind = Math.floor(array.length / 2);
// 2. 存值
var val = array[ind];
// console.log(val);
// 3. 删除中间值
array.splice(ind, 1);
// 4. 声明2个空数组
var left = [],
right = [];
// 5. 每一个
for (var i = 0; i < array.length; i++) {
if (array[i] < val) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
// 6. 递归排序
// 8. 设置整个函数的返回值
return qs(left).concat(val, qs(right));
}
快速排序/二分法
最新推荐文章于 2022-07-06 22:20:47 发布