快速排序简单实现
来源:互联网 发布:游乐网软件下载 编辑:程序博客网 时间:2024/05/17 23:58
#include <stdio.h>#define MAX_NUM 80void quicksort(int* a, int p, int q){ int i=p, j=q; int temp=a[p]; while(i<j){ //越过不小于基准值的数据 while (a[j]>=temp && j>i) j--; if (i<j){//从小到大排序 a[i] = a[j]; i++; //越过小于基准值的数据 while (a[i]<=temp && i<j) i++; if (i<j){ a[j] = a[i]; j--; } } } a[i] = temp;//基准值最后的位置,完成子序列的分割 for (int k=p; k<=q; k++){ if (k==i){ printf("(%d) ", a[k]); continue; } printf ("%d ", a[k]); } printf ("\n"); if (p < (i-1)) quicksort(a, p, i-1); if ((j+1) < q) quicksort(a, j+1, q);}int main(void){ int a[MAX_NUM]; int n; printf("Input total number: "); scanf ("%d", &n); if (n > MAX_NUM) n=MAX_NUM; for(int i = 0; i < n;i++) { scanf("%d",&a[i]); } printf("Divide sequence:\n"); quicksort(a,0,n-1); printf("The sorted result:\n"); for(int i = 0; i < n;i++) { printf("%d ",a[i]); } printf("\n"); getchar();getchar(); return 0;}
阅读全文
0 0
- 快速排序简单实现
- 快速排序简单实现
- 快速排序简单实现
- 快速排序简单实现
- 快速排序的简单实现
- 快速排序的简单实现
- 快速排序的简单实现
- 快速排序的简单实现
- Java简单实现快速排序
- java实现简单排序算法:快速排序
- 快速排序的一种简单实现
- java快速排序算法的简单实现
- 数据结构笔记-快速排序简单实现
- 快速排序算法简单易懂实现
- 快速排序算法简单易懂实现
- 快速排序的简单实现(Quick_Sort)
- 快速排序的实现--简单程序
- java简单实现冒泡 快速 选择排序
- 大数的阶乘
- 记一次python中使用jinja2模板渲染文本
- 数据结构实验之排序六:希尔排序
- <转>URL编码
- 使用随机森林计算特征重要度
- 快速排序简单实现
- HDOJ 2013 蟠桃记
- java读取excel文件的数字,读取时间
- 安装python
- JVM内存结构及其调优(上)——Java虚拟机结构和属性
- 多线程是否能加快处理速度
- Faster_RCNN的一些总结2071/10/20
- git项目导入eclipse,无法运行
- Requests 学习