图解快速排序+代码

图解

代码

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);
  }
相关推荐
迈巴赫车主几秒前
蓝桥杯192.等差数列java
java·数据结构·算法·职场和发展·蓝桥杯
chase。11 分钟前
【学习笔记】从经典算法到通用神经运动规划器
笔记·学习·算法
feasibility.18 分钟前
OpenCV图像滤波算法应用:常见滤波器的原理与效果对比(含c++/python代码与中文显示)
c++·opencv·算法
老虎062720 分钟前
数据结构09(Java)-- 二分查找模板
java·开发语言·数据结构
Rabitebla24 分钟前
快速排序(QuickSort)完全指南 —— 从原理到工业级优化
c语言·数据结构·c++·算法·github
赫瑞26 分钟前
Java中的图论2——Kruskal算法
java·算法·图论
XiYang-DING31 分钟前
【LeetCode】206. 反转链表
算法·leetcode·链表
wangchunting33 分钟前
数据结构-散列表
java·数据结构·散列表
_深海凉_43 分钟前
LeetCode热题100-合并两个有序链表
算法·leetcode·链表
人工智能培训1 小时前
样本效率与安全探索的矛盾解析及平衡路径
大数据·人工智能·深度学习·算法·机器学习·知识图谱·故障诊断