代码
package com.bjpowernode.javase;
public class BinarySearch {
public static void main(String[] args) {
int[] ints = {1, 34, 54, 65, 77, 86, 97,244};
int index = binarySearch(ints, 35);
System.out.println(index);
}
/**
* 二分法查找
* @param ints 被检索的数组
* @param key 在数组中需要检索到的值
* @return -1表示在ints中无key,其余返回数组的下标
*/
public static int binarySearch(int[] ints, int key) {
int begin = 0;
int end = ints.length - 1;
int mid = (begin + end)/2;
while(begin <= end){
if (ints[mid] == key){
return mid;
}else if (ints[mid] < key){
begin = mid + 1;
}else{
end = mid - 1;
}
mid = (begin+end)/2;
}
return -1;
}
}