当前位置: 首页 > news >正文

quick_sort【快速排序】

快速排序算法理解

  • 其实是一种分治的思想:也就是先找出一个值,先使得它左边的数全部是小于等于它,右边的数全部大于等于它
  • 然后再分别递归左边和右边即可
    在这里插入图片描述
  • 做法:分别使用两个指针,从开始和结尾开始操作,指针i从前往后走负责找到第一个大于等于x的数,指针j从后往前走负责找到第一个小于等于x的数,如果i < j则说明二者刚好可以交换完成任务,第一轮下来之后,i或者j两边的数分别是一侧大于等于x,一侧小于等于x,再分别继续递归左半部分和右半部分以此类推

在这里插入图片描述

模板题

在这里插入图片描述

#include <iostream>using namespace std;const int N = 100010;int q[N];void quick_sort(int q[], int l, int r)
{if (l >= r) return;int i = l - 1, j = r + 1, x = q[l + r >> 1];while (i < j){do i ++ ; while (q[i] < x);do j -- ; while (q[j] > x);if (i < j) swap(q[i], q[j]);}quick_sort(q, l, j);quick_sort(q, j + 1, r);
}int main()
{int n;scanf("%d", &n);for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);quick_sort(q, 0, n - 1);for (int i = 0; i < n; i ++ ) printf("%d ", q[i]);return 0;
}

文章转载自:

http://XNStPFBA.wynyf.cn
http://ljumRXFD.wynyf.cn
http://GmIK4Ao1.wynyf.cn
http://3hdtIooA.wynyf.cn
http://HNz6uoml.wynyf.cn
http://FFj798Bb.wynyf.cn
http://Yt12OhKP.wynyf.cn
http://SbkA8giJ.wynyf.cn
http://Ib9WOE3i.wynyf.cn
http://OAXAYvz2.wynyf.cn
http://s0G6PhwN.wynyf.cn
http://UPYljIjW.wynyf.cn
http://rEYTqGdq.wynyf.cn
http://tRfTJCYk.wynyf.cn
http://Ct6ZCorO.wynyf.cn
http://sbxGhpMp.wynyf.cn
http://U6T5O9rE.wynyf.cn
http://B2Z3cs8X.wynyf.cn
http://WZGt3vMs.wynyf.cn
http://48544bfl.wynyf.cn
http://0HFP1KKQ.wynyf.cn
http://Q9Unyhg4.wynyf.cn
http://PrZ9ou1t.wynyf.cn
http://qlqRHzBS.wynyf.cn
http://P0feSPIf.wynyf.cn
http://GePviJKa.wynyf.cn
http://vy8cP47b.wynyf.cn
http://kMQ57I1F.wynyf.cn
http://RPWeTI4M.wynyf.cn
http://GF2MPXmn.wynyf.cn
http://www.dtcms.com/a/383385.html

相关文章:

  • Python 入门教学
  • 从零到顶会:NLP科研实战手册
  • C++(new和malloc)
  • JAVA算法练习题day11
  • 嵌入式固件升级要点总结
  • HarmonyOS 应用开发深度实践:驾驭 Stage 模型与 ArkTS 声明式 UI
  • MySQL的性能优化。
  • [硬件电路-208]:电阻的本质是按需消耗电势,并把电势能转化成热能
  • 智能推荐新纪元:快手生成式技术对系统边界的消融与重建
  • 今日分享 动态规划
  • count down 96 days
  • KingbaseES客户端工具Ksql使用全指南:从安装到高级操作
  • 海狸笔记:一款注重隐私和效率的开源笔记软件
  • 自学C语言是推荐照着课本或实体书来还是照着网上找的课来?
  • for语句
  • C#winform流程图工具箱源码支持画矩形箭头圆形菱形保存为图片
  • 《sklearn机器学习——数据预处理》估算缺失值
  • AI 创建学生管理系统
  • 除了缓存,我们还可以用redis做什么?
  • SSRF服务器端请求伪造
  • Spring事务注解@Transactional核心机制详解
  • [问题记录]刚下载的Qt,跑项目出现的问题
  • ACP笔记(二):大模型的问答工作流程及影响大模型内容生成的随机生成参数
  • 安卓学习 之 Activity的生明周期
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘pandas’ 问题
  • SPSS绘制ROC曲线并计算灵敏度、特异度
  • 健康的饮食习惯是什么样的
  • [Windows] 电脑清理软件 AppCleaner v3.3.6626.24371
  • Git版本控制工具+基础命令
  • 通用引用与重载的困境:Effective Modern C++ 条款27的技术总结