快排C语言的实现
来源:互联网 发布:ktv小姐怎么出台 知乎 编辑:程序博客网 时间:2024/05/21 17:39
主要参考的是http://blog.csdn.net/morewindows/article/details/6684558
代码如下
void quick_sort(int s[], int l, int r){ if(l < r) { //以l作为基准值 int i = l, j = r, x = s[l]; while(i < j) { //从后向前找,找到第一个比x小的 while(i < j) { if(s[j] < x) { s[i] = s[j]; break; } j--; } //从前向后找,找到第一个比x大的 while(i < j) { if(s[i] > x) { s[j] = s[i]; break; } i++; } //i保存了当前的坑的位置 } s[i] = x; quick_sort(s, l, i-1); quick_sort(s, i+1, r); }}
快排的主要思想就是一次确定一个数的位置,然后把问题规模变小,分别进行处理以达到每个区间有序。
那么如何确定一个数该在的位置呢?通过从后往前扫描,然后从前往后扫描,并重复这两个步骤实现。
阅读全文
0 0
- C语言快排函数的实现
- 快排C语言的实现
- 快排 c语言实现
- C语言实现快排
- C语言快排实现
- 快排C语言实现
- 快排(库函数实现)C语言
- 快排(C语言实现)
- C语言递归实现快排quicksort
- 快排---C语言
- C语言实现快排、归并排序、快排改进算法的递归和非递归算法
- 快排的三种实现,以及三种实现运算速度的比较 c语言
- C语言 快排函数
- 实现的快排
- C实现快排算法
- C语言里的快排函数用法(qsort)
- 快排(QuickSort)的java语言的实现
- C泛型编程实现的快排模版
- nginx+tomcat 分布式配置 (未实验)
- Java面试笔试指南(二)---面向对象技术
- XGBoost笔记
- 安卓中关于属性动画的复合使用
- Gradle之多项目与混合构建
- 快排C语言的实现
- RDD : combineByKey
- Android 播放多媒体文件
- MySQL数据库索引的类型与使用规则
- LVDS参数明细
- kvm
- 1029. 旧键盘
- hrbust 1631 技能修炼 (裸拓扑)
- placeholder兼容IE8代码