int [] arr = {1,2,3,5,6,9,10};
int low=0;
int high=arr.length-1;
int mid = -1;
while(low<=high){
mid =(low+high)/2;
if(arr[mid]<5){
low=mid+1;
}else if(arr[mid]>5){
high=mid-1;
}else{
break;
}
}
if(low<high){
System.out.println("可以找到:index="+mid);
}else{
System.out.println("无法找到");
}
二分法查找 思路 首先数组是排序好的,然后查找到中间的值 去跟需要比的数值比较
如果 中间的数值大于指定的数值比较,那么最大值就改变为中间的减一
反之最小值改为中间的加一