手写的快速排序(JavaScript)
发布时间
阅读量:
阅读量
实现思路概述
-
快速排序是目前实际应用中效率最高的排序途径。
- 该算法基于分治策略,因此在实现过程中必须运用递归机制。
- 从数组A中随机选取一个元素作为基准值pivot。
- 将所有小于基准值的元素排列至其左侧,同时将所有大于基准值的元素置于其右侧。
- 数组A被基准值划分为两个子数组,接下来对这两个子数组执行相同的处理步骤。
- 借助递归方式,对上述划分后的两个子数组持续进行相同的操作以完成排序。
实现代码
这三个参数依次为待排序的数组、数组起始索引以及数组末尾索引。
function Quick_Sort(nums,left,right) {
if (left >= right) return;
let pivot = nums[left];
let l = left;
let r = right;
while (l < r) {
while (l < r && nums[r] >= pivot) {
r--;
}
if (l < r) {
nums[l] = nums[r];
}
while (l < r &&
全部评论 (0)
还没有任何评论哟~
