使用泛型实现二分查找
时间:2010-10-26 来源:juxiangwu
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;
}
相关阅读 更多 +