quicksort快排
2024-10-19 06:19:24
废话不多说,上代码:
void quicksort(int x[], int lo, int hi){ int i = lo, j = hi;
int pivot = x[(lo + hi) >> ]; while(i <= j){
while(x[i] < pivot) i++;
while(x[j] > pivot) j--; if(i <= j){
swap(x[i], x[j]);
i++;
j--;
} } if(lo < j) quicksort(lo, j);
if(i < hi) quicksort(i, hi); }
注意学会这个partition algorithm,随便选一个值当做pivot,然后两个指针分别指向两头,往中间挤。
Reference: here
最新文章
- php知识案列1
- 为GitHub项目加入Travis-CI的自动集成
- 单元测试-NUint最基本使用详解
- 视频处理控件TVideoGrabber部分技术问题解答
- Google Guava学习笔记——简介
- DTD 简介
- OverHust
- 纯CSS3实现的图片滑块程序,效果非常酷
- pyqt中使用matplotlib绘制动态曲线
- Servlet的init()方法如何才会在服务器启动时执行
- ffmpeg用法
- Codeforce 水题报告(2)
- 最基础的mybatis入门demo
- 201521123013 《Java程序设计》第7周学习总结
- CodeIgniter框架对数据库查询结果进行统计
- paramiko实现上传目录
- 面试加分项---HashMap底层实现原理
- [leetcode]55. Jump Game青蛙跳(能否跳到终点)
- 启用phpstorm代码提示功能
- web-view中下载微信头像跨域解决方案
热门文章
- Kostya the Sculptor
- The property System
- SpannableString可以被点击的文字
- Oracle 中的Top写法
- 【Loadrunner】初学Loadrunner——场景设计
- mysql5.5修改字符编码
- 前端用Request Payload方式请求后台
- Python subprocess + timeout的命令执行
- Date对象 识记
- (转载)#include机制,#ifndef...#define...#endif防止重复引用,声明,定义等概念