递归实现的二分搜索
2015-08-01 15:59
218 查看
算法设计技巧与分析p104页算法6.2,思想就不说了,注意一些细节就可以了
public class BINARYSEARCH6_2 {
public static int search(int a[],int element,int low,int high){
if(high>=low){
int mid=(low+high)/2;
if(a[mid]==element){
return mid;
}
else{
int t1=search(a,element,low,mid-1);//这里一定是mid-1否则会进入死循环
if(t1!=-1)
return t1;
else{
return search(a,element,mid+1,high);
}
}
}
else{
return -1;
}
}
public static void main(String args[]){
int[] a={5,7,9,6,8,0,9};
int element=9;
System.out.println(search(a,element,0,5));
}
}
public class BINARYSEARCH6_2 {
public static int search(int a[],int element,int low,int high){
if(high>=low){
int mid=(low+high)/2;
if(a[mid]==element){
return mid;
}
else{
int t1=search(a,element,low,mid-1);//这里一定是mid-1否则会进入死循环
if(t1!=-1)
return t1;
else{
return search(a,element,mid+1,high);
}
}
}
else{
return -1;
}
}
public static void main(String args[]){
int[] a={5,7,9,6,8,0,9};
int element=9;
System.out.println(search(a,element,0,5));
}
}
相关文章推荐
- 树结构--Trie树
- 操作系统存储器管理知识点
- spring MVC的困惑 url-pattern的/和/*有区别
- 快速搭建maven+springMVC3.0+mybatis项目
- 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误
- [LeetCode][JavaScript]Valid Anagram
- MINMAX问题
- squid 编译参数说明
- MySQL编码问题
- Android 获取wifi的加密方式
- 优秀算法博文推荐
- iOS-mvc分文件夹
- 优秀算法博文推荐
- 在win8(win8.1)电脑上安装IIS,配置web服务器,发布网站
- Lucence
- UI02_UITextField及各类继承关系
- 自定义视图点击区域
- 使用WindowsBuilder进行可视化设计时不能预览界面
- scala + intellij idea 环境搭建及编译、打包
- error of mininet on ubuntu 12.04