package zaizhu.da;
//二分查找法
public class Test30 {
public static void main(String[] args) {
int[] nums= {10,20,50,65,88,90};
int index=binarySearch(nums,10);//定义返回的是数组下标
System.out.println(index);
}
//二分查找算法
public static int binarySearch(int[] nums,int key) {
int start=0;//开始下标
int end=nums.length-1;//结束下标
while(start<end) {
int middle=(start+end)/2;//除二也可以用位移表示 >>>1
if(nums[middle]>key) {
end=middle-1;
}else if(nums[middle]<key){
start=middle+1;
}else {
return middle;
}
}
return -1;
}
}