数组的二分查找算法
* 数组搜索
*/
public class SearchArr {
public static void main(String[] args) {
int[] arr=new int[]{1,2,3,4,8,10,13,54,67};
int index=BinarySearch(arr,8);
System.out.println("索引为:"+index);
}
//数组的二分查找
static int BinarySearch(int[] arr,int key) {
int low=0;
int high=arr.length-1;
while(low <= high) {
int mid=low+high >>1;//中间索引移位
int midVal=arr[mid];
if(midVal>key) {
mid=high-1;
}else if(midVal<key) {
mid=low+1;
}else {
return mid;
}
}
return -1;
}
}