图解快速排序+代码

图解

代码

javascript 复制代码
let quickSort = function(arr, left, right){
    if(left > right){
      return;
    }
    let key = arr[left];
    let i = left;
    let j = right;

    while(i < j){
      while(i<j && arr[j] >= key){
        j--;
      }
      while(i<j && arr[i] <= key){
        i++;
      }
      if(i<j){
        let tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
      }
    }
    // 在重合点 将基准值交换
    arr[left] = arr[i];
    arr[i] = key;
    quickSort(arr, left, i-1);
    quickSort(arr, i+1, right);
  }
相关推荐
爱敲代码的TOM44 分钟前
数据结构总结
数据结构
CoderCodingNo1 小时前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人1 小时前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
小熳芋1 小时前
443. 压缩字符串-python-双指针
算法
Charlie_lll1 小时前
力扣解题-移动零
后端·算法·leetcode
chaser&upper1 小时前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_499771551 小时前
C++中的组合模式
开发语言·c++·算法
iAkuya2 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼2 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck2 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl