【发布时间】:2018-09-07 03:53:25
【问题描述】:
在这种情况下,值确实匹配并且布尔值设置为 true,但是 return 被调用两次并将值更新为 false。谁能建议我在这里缺少什么?
public class BinSearch {
public static void main(String[] args) {
BinSearch bin=new BinSearch();
int arr[]= {2,4,6,8,10,12,14,16};
boolean b=bin.binSearch(arr,0,arr.length-1,12);
System.out.println("Number found "+b);
}
public boolean binSearch(int arr[],int low,int high,int val)
{
int mid=(low+high)/2;
if(arr[mid]==val)
{
return true;
}
else if(arr[mid]>val)
{
binSearch(arr,mid+1,high,val);
}
else
{
binSearch(arr,low+1,mid,val);
}
return false;
}
}
【问题讨论】:
标签: java recursion binary-search