【刷题之路】快速排序
来源:互联网 发布:淘宝灰色退款思路 编辑:程序博客网 时间:2024/06/06 16:53
经典算法
class QuickSort {
public:
int* quickSort(int* A, int n) {
// write code here
quicks(A,0,n-1);
return A;
}
void quicks(int* a,int left,int right){
int i,j,temp;
if(left<right){
i=left;
j=right;
temp=a[i];
while(i<j){
while(i<j&&temp<=a[j]) j--; //从后往前依次寻找第一个比temp小的数,并与a[i]交换,现在a[j]空出来了
if(i<j) a[i++]=a[j]; //注意i++与j--,i 与j在本次循环中已经调整过,下一次循环应该从下一个与上一个开始
while(i<j&&temp>a[i]) i++;//从前往后依次寻找第一个比temp大的数,将a[j]的坑填上,一次循环结束
if(i<j) a[j--]=a[i];
}
a[i]=temp; //最后temp填入最后的坑中
quicks(a,left,i-1); //递归实现
quicks(a,i+1,right);
}
}
};
- 【刷题之路】快速排序
- 排序之快速排序
- 排序之 快速排序
- 排序之快速排序
- 排序之------快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之快速排序
- 排序之-----快速排序
- 排序之快速排序
- 排序之快速排序
- linux centos 搭建 active mq
- 本地如何搭建IPv6环境测试APP是否支持
- 用户手势检测-GestureDetector使用详解
- 接口逻辑设计
- 如何理解Javscript中的函数调用和"this"
- 【刷题之路】快速排序
- Linux Makefile 详细语法
- C++进阶——关于namespace
- 专题三 · 1006
- Linux文本处理命令
- GraphicsLab Project学习项目
- Android -- Wifi启动流程分析
- 《剑指offer》重建二叉树
- Android实现倒计时跳转Activity