曾格的github

排序:快排

注意点:

  i是从start开始的;

  ++i和--j都放else里面;

  记得先递归出口;

复制代码
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 // 快排
 6 void sort(vector<int>& res, int start, int end) {
 7     if (start >= end) return;
 8     int mv = res[start];
 9     int i = start, j = end;
10     while (i < j) {
11         while (j > i) {
12             if (res[j] < mv) --j;
13             else {
14                 res[i] = res[j]; ++i; break;
15             }
16         }
17         while (j > i) {
18             if (res[i] > mv) ++i;
19             else {
20                 res[j] = res[i]; --j; break;
21             }
22         }
23     }
24     res[i] = mv;
25     sort(res, start, i-1);
26     sort(res, i+1, end);
27 }
28 
29 int main() {
30     vector<int> init = { 3,2,6,7,1,3,5,100,38,101,0 };
31     sort(init,0,init.size()-1);
32     for (int i = 0; i < init.size(); ++i) {
33         cout << init[i]<< " ";
34     }
35     return 0;
36 }
复制代码

 

posted @   曾格  阅读(27)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
Live2D
欢迎阅读『排序:快排』
点击右上角即可分享
微信分享提示