public static <T extends Comparable <? super T>> int binarySearch(T [] array,T key){
int low = 0;
int high = array.length-1;
while(low <= high){
int mid = (low + high)/2;
if(array[mid].compareTo(key)<0){
low = mid + 1;
}else if(array[mid].compareTo(key)>0){
high = mid - 1;
}else{
return mid;
}
}
return -1;
}
int low = 0;
int high = array.length-1;
while(low <= high){
int mid = (low + high)/2;
if(array[mid].compareTo(key)<0){
low = mid + 1;
}else if(array[mid].compareTo(key)>0){
high = mid - 1;
}else{
return mid;
}
}
return -1;
}
转载于:https://blog.51cto.com/wujuxiang/410763