二分查找
2015-09-26 22:42
295 查看
int binary_search(int array[], int n, intvalue)
{
int left=0,right=n-1;
while(left<=right)//防溢出,移位-高效。
{
int middle = left+ ((right-left)>>1);
if(array[middle]>value) right = middle - 1;
else if(array[middle] < value ) left = middle + 1;
else returnmiddle;
}
return -1;
}
{
int left=0,right=n-1;
while(left<=right)//防溢出,移位-高效。
{
int middle = left+ ((right-left)>>1);
if(array[middle]>value) right = middle - 1;
else if(array[middle] < value ) left = middle + 1;
else returnmiddle;
}
return -1;
}
相关文章推荐
- 快速排序
- C语言函数指针的例子
- Altium Designer 出现错误提示(警告)adding items to hidden net GND/VCC
- Altium Designer 出现错误提示(警告)adding items to hidden net GND/VCC
- UNIX环境高级编程——第三章
- Android dex文件通用自动脱壳器
- POJ-1083 Moving Tables
- hdu4778状态压缩dp 博弈
- Java:详解传值和传引用
- 分页代码
- shell 判断文件、目录是否存在
- 用JAVA做一个用户登入系统
- 软件架构设计系列总结
- 关于软件的自动化测试能否代替软件的手工测试
- 2015第39周六
- LINUX DHCP学习
- BestCoder Round #57 (div.2)HDU 5480 Conturbatio
- 【UIKit-93-1】#import <UIKit/UIScrollView.h>
- leetcode:Add Digits
- [题解+总结]20150926