快速排序过程:
1. 在数据集之中,找一个基准点
2. 建立两个数组,分别存储左边和右边的数组
3. 利用递归进行下次比较
function quickSort(arr) {
if(arr.length <= 1) {
return arr; //如果只有一个数就直接返回
}
var middle = Math.floor(arr.length/2); // 找到中间数的索引,如果是浮点数就向下取整
var middle_value = arr.splice(middle, 1); //找到中间值
var left = [], right = [];
for (var i = 0; i < arr.length; i++) {
if(arr[i] < middle_value) {
left.push(arr[i]); //基准点左边的数->左边数组
} else {
right.push(arr[i]); //基准点右边的数->右边数组
}
}
return quickSort(left).concat([middle_value], quickSort(right))
}
本文介绍了一种高效的排序算法——快速排序。通过选取基准点并利用递归的方式将数据集分为左右两部分,最终实现数组的有效排序。文章详细解析了快速排序的每一步操作。
140

被折叠的 条评论
为什么被折叠?



