快速排序代码实现
来源:互联网 发布:汇编和c语言先学哪个 编辑:程序博客网 时间:2024/05/16 15:06
快速排序代码实现
快速排序代码:
#include <stdio.h>void QuickSort(int * a, int low, int high);int FindPos(int * a, int low, int high);int main(void){ int a[6] = {2, 1, 0, 5, 4, 3}; int i; QuickSort(a, 0, 5); for(i=0; i<6; ++i) printf("%d ", a[i]); printf("\n"); return 0;}void QuickSort(int * a, int low, int high){ int pos; if(low < high)//只有low和high不等的时候才排序 { //a数组中第一个元素从low开始到high的依次排序后的位置找到 pos = FindPos(a, low, high); //找到第一个元素的位置后, //我们就可以把数组按这个位置劈成 //两半,我们就可以排序了 QuickSort(a, low, pos-1); QuickSort(a, pos+1, high); }}int FindPos(int * a, int low, int high){ //每一次排序的目的是为了找到a[low]位置的元素的在数组a中的最终位置 int val = a[low]; while(low < high) { while(low < high && a[high]>=val) --high; a[low] = a[high]; while(low < high && a[low]<=val) low++; a[high] = a[low]; }//此处循环完后,a[low] = a[high] a[low] = val; return low;//或return high,因为此时low和high相等}
0 0
- 快速排序 代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序实现代码
- 快速排序代码实现
- 快速排序及代码实现
- 快速排序其他实现代码
- 快速排序算法代码实现
- C++代码实现快速排序
- 快速排序C++代码实现
- 快速排序--Java实现代码
- Java 快速排序 代码实现
- 快速排序及代码实现
- java代码实现快速排序
- 快速排序-JS代码实现
- 快速排序的实现--代码
- C#代码实现 快速排序
- 剑指offer面试题18-树的子结构
- C&C服务器对抗方法演进与域名产生方法(Domain generate algorithm, DGA)
- 每天一道算法题(33)——阿里巴巴之魔方翻转
- 黑马程序员_java基础第一部分
- Nginx反向代理配置
- 快速排序代码实现
- HDU 3665 Seaside <迪杰斯特拉算法>
- Mini-Notes:Git
- 【ACM】华为oj--字符串最后一个单词长度
- Tiling POJ 2506 【大数】
- PHP中二维数组排序问题
- Android UI之RadioGroup
- const char*, char const*, char*const的区别
- Java多线程通信机制