**
* 二分查找
*/
public class BinarySearch {
public int directBinarySearch(int[] array,int elem){
int low = 0;
int high = array.length-1;
while(low<=high){
int middle = (low+high)/2;
if(elem<array[middle]){
high = middle-1;
}else if(elem>array[middle]){
low = middle+1;
}else {
return middle;
}
}
return -1;
}
public static void main(String[] args){
BinarySearch binarySearch = new BinarySearch();
int [] array = {1,2,4,8,10,12};
int i =binarySearch.directBinarySearch(array, 10);
System.out.println(i);
}
}