Advertisement

手写的快速排序(JavaScript)

阅读量:

实现思路概述

  • 快速排序是目前实际应用中效率最高的排序途径。

    • 该算法基于分治策略,因此在实现过程中必须运用递归机制。
    1. 从数组A中随机选取一个元素作为基准值pivot。
    2. 将所有小于基准值的元素排列至其左侧,同时将所有大于基准值的元素置于其右侧。
    3. 数组A被基准值划分为两个子数组,接下来对这两个子数组执行相同的处理步骤。
    4. 借助递归方式,对上述划分后的两个子数组持续进行相同的操作以完成排序。

实现代码

这三个参数依次为待排序的数组、数组起始索引以及数组末尾索引。

复制代码
    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)

还没有任何评论哟~