您的位置:首页 > 其它

递归实现的二分搜索

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));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: