二分查找算法
2015-11-13 17:13
267 查看
int binary_search(int* a, int len,int goal)
{
int low=0;
int high= len-1;
while(low<= high)
{
int middle= (low+ high)/2;
if(a[middle]== goal)
return middle;
//在左半边
elseif(a[middle]> goal)
high = middle-1;
//在右半边
else
low = middle+1;
}
//没找到
return-1;
}
{
int low=0;
int high= len-1;
while(low<= high)
{
int middle= (low+ high)/2;
if(a[middle]== goal)
return middle;
//在左半边
elseif(a[middle]> goal)
high = middle-1;
//在右半边
else
low = middle+1;
}
//没找到
return-1;
}
相关文章推荐
- 磁条卡磁道笔记(1)
- Centos 6.4 python 2.6 升级到 2.7
- [Leetcode]Add Two Numbers
- 【Android学习笔记】Intent详解
- Linux环境实践
- Android 调用js,传对象到js里面使用addJavascriptInterface错误总结
- 网络 思科
- zoj 1395 可行遍性问题
- zabbix采集软件指标实现方法
- 浅谈strtok函数的使用心得
- ios NSString md5 base64 urlEncode isEmail
- “undefined JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析
- oto餐饮app实时订单物流追踪系统架构设计(一)
- 快速将自己的应用程序做成安装包
- pes and ts stream, how to convert
- Android自定义图片加载框架
- 操作系统7- shell
- 浅析Python中signal包的使用
- 获取Android设备电池电量状态
- 使用友盟分享,出现linker command failed with exit code 1