博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序
阅读量:7237 次
发布时间:2019-06-29

本文共 583 字,大约阅读时间需要 1 分钟。

  hot3.png

typedef
int
T
;
 
//    a = a ^ b;
//    b = a ^ b;
//    a = a ^ b;
void swap(T& a, T& b) {
T t = a;
a = b;
b = t;
}
 
/*
* 快速排序
*/
void sort(T arr[], int len) {
if(len < 2) {
return; }
swap(*arr, arr[len>>1]);
T* left = arr + 1;
T* right = arr + len + 1;
T bound = *arr;
while(left < right) {
while(*left < bound && left < right) left++;
while(*right >= bound && right > arr) right--;
if(left < right) {
swap(*right, *left); }
}
if(bound > *right) {
swap(*arr, *right); }
sort(arr, right-arr);
sort(right+1, len+arr-right-1);
}

转载于:https://my.oschina.net/coda/blog/33064

你可能感兴趣的文章
JSLite js实现数据交集$.intersect
查看>>
被忽略的小细节
查看>>
ORA-01000 maximum open cursors exceeded
查看>>
轻量级工具提示jQuery插件 - Tooltipster(转)
查看>>
PyQt自适应窗口任务栏显示问题
查看>>
如何下载编译安装使用最新版boost
查看>>
JavaScript根据图片加载成功后高度设置DIV的高度
查看>>
RAID5实验
查看>>
js 文本框禁止粘贴复制功能
查看>>
TimSort排序算法及一个问题分析
查看>>
javascript 遍历元素属性。
查看>>
我的友情链接
查看>>
网站在48小时内被Google收录的方法
查看>>
android路径获取
查看>>
关于SAN 的设计-Host 设计
查看>>
利用iText和zxing生成和读pdf417二维码
查看>>
MVC 数据验证
查看>>
预习数据存储5种方式
查看>>
Windows RT平板不受待见 三星欧洲停售ATIV Tab
查看>>
【中级篇】使用Haproxy搭建WEB群集
查看>>