二分查找程序算法和快速排序
2015-11-03 15:41
246 查看
二分查找程序算法
快速排序
int search(int *a, int x,int n) { int left =0; int right =n-1; while(left<=right) {//返回查找x的位置 int middle =(left + right )/2; if(x==a[middle]) return middle; if(x>a[middle]) left =middle+1; else right =middle-1; } return -1; }
快速排序
void Qsort(int a[], int low, int high) { if(low >= high) { return; } int first = low; int last = high; int key = a[first];/*用字表的第一个记录作为枢轴*/ while(first < last) { while(first < last && a[last] >= key) { --last; } a[first] = a[last];/*将比第一个小的移到低端*/ while(first < last && a[first] <= key) { ++first; } a[last] = a[first]; /*将比第一个大的移到高端*/ } a[first] = key;/*枢轴记录到位*/ Qsort(a, low, first-1); Qsort(a, first+1, high); }
相关文章推荐
- 云计算概述
- PHP AJAX JSONP实现跨域请求使用实例
- 信息提示框Toast
- Ant-------默认是build.xml 改为其他的名字
- erlang手记(1)
- Android Studio ABD not responding 问题
- PLSQL 的 for循环的小例子
- FMDB使用详情
- Category和Extension的使用
- Android Studio系列教程六--Gradle多渠道打包
- 分享4种CSS3效果(360度旋转、旋转放大、放大、移动)
- linux 上安装tomcat、进行相关设置、处理部分部署问题
- JavaScript高级程序设计之DOM之节点层次之DocumentFragment类型第10.1.8讲
- C#中System.Drawing制作折线图
- markdown模版
- JDBC配置问题
- iOS NSPredicate详解
- ClassNotFoundException
- Android Studio系列教程五--Gradle命令详解与导入第三方包
- Kibana中doc与search策略的区别