二分法查找的数据是有序数组
package demo;
public class BinarySearch1 {
public static void main(String[] args){
int[] arr={1,2,3,4,5,7,9,10,11};//二分查找使用有序数组
int value=11;//要查找的数
int tag=find(arr,value);//调用方法查找,有value则返回下标tag,没有则返回-1
System.out.println(tag);
}
//二分法查找
public static int find(int[] arr,int value){
int left=0,right=arr.length-1;
while(left<=right){
int mid=left+(right-left)/2;
if(arr[mid]==value){
return mid;
}
if(arr[mid]>value){
right=mid-1;
}else {
left=mid+1;
}
}
return -1;
}
}
运行截图