二分搜索算法(递归和非递归实现)
2016-04-16 19:59
302 查看
//循环迭代方法 int binIteration(int a[],int low,int high,int key){ if(low>high) return -1; if(a[high] < key || a[low] > key) return -1; while(low<=high){ int mid=(low+high)/2; if(a[mid] == key) return mid; else if(a[mid] > key) high = mid-1; else low = mid+1; } return -1; } //递归方法 int binRecursion(int a[],int low,int high,int key){ if(low > high) return -1; if(a[high] < key || a[low] >key) return -1; int mid=(low+high)/2; if(a[mid] == key) return mid; else if(a[mid] > key) return binRecursion(a,low,mid-1,key); else return binRecursion(a,mid+1,high,key); }
相关文章推荐
- 【Unity闲谈】关于制作 Voxel(体素,3D像素)模型并导入Unity
- jQuery自己定义绑定的魔法升级版
- 堆
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
- 技术分享:逆向破解华为路由器第一部分
- 正则表达式re包报错unbalanced parenthesis无法处理小括号的情形
- centos6.5下如何修改MySQL默认用户root的密码
- NOI2016 山西省省选 第二题序列
- java-cef系列视频第三集:添加flash支持
- golang windows环境下的配置安装
- JavaEE 基础 JDK环境配置
- NYOJ1100WAJUEJI which home strong!
- Linux_Windows7使用VMare安装Centos6.5并使用Xshell连接Centos
- 了解博主
- RxJava的解析,帮助你了解RxJava
- 【笔记】A Review on Multi-Label Learning Algorithms
- Swift中文教程(二)基本运算符
- 关于pcie的备忘
- Oracle学习笔记(十七)——管理表空间和数据文件
- org.springframework.beans.factory.BeanCreationException