快速排序
2016-04-16 10:36
246 查看
// // main.c // split // // Created by 邱阳 on 16/3/19. // Copyright © 2016年 中路杀神. All rights reserved. // #include <stdio.h> #define SWAP(a,b) (temp=a,a=b,b=temp) int temp; int split(int a[],int low,int high) { int k,i=low; int x=a[low]; for(k=low+1;k<=high;k++) { if(a[k]<=x) { i=i+1; if(i!=k) SWAP(a[i],a[k]); } } SWAP(a[low],a[i]); return i; } void quick_sort(int a[],int low,int high) { int k; if(low<high) { k=split(a,low,high); quick_sort(a,low,k-1); quick_sort(a,k+1,high); } } int main(int argc, const char * argv[]){ int a[]={3,4,1,2,6,8},m; quick_sort(a,0,5); for(m=0;m<6;m++)printf("%d",a[m]); printf("\n"); return 0; }
相关文章推荐
- Python学习笔记(八)
- Activiti 实战篇 小试牛刀
- dp【划分数】
- 数据类型,变量小知识点
- dfs
- Hibernate 3.2 必需包
- poj 2481 Cows 树状数组or线段树
- Android Studio 项目中,哪些文件应该忽略而不提交到svn的服务器中?
- Eclipse_Android问题锦集
- 【学习OpenCV】—— 深入了解 cv::Mat
- TCP/IP卷一(第四章学习)
- 工厂方法模式的理解
- iOS开发中设置圆角的方法
- 指针与引用的区别
- 单例模式
- 《仙境之路》真是个不错的电影
- 好久没来博客园写日志了
- 51. (转) Android学习路线
- 物料BOM和生产订单BOM的区别
- 排序算法---1