您的位置:首页 > 其它

二分查找

2015-04-23 00:00 218 查看
复杂度 O(lgN)

使用条件:数据已经排序并在内存中。

package chapter1;

public class BinarySearch <T>{

public static <T extends Comparable<? super T>> int binarySearch(T [] a, T x){
int low =0;
int high = a.length-1;
while (low<= high){
int mid =(low+high)/2 ;
if (a[mid].compareTo(x)<0){
low = mid+1;
}else if (a[mid].compareTo(x)>0) {
high= mid-1;
}else {
return mid;
}
}
return -1; //not found

}

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: