public class BinarySearch{
public static int rank(int key,int[] a){
int lo = 0;
int hi = a.length -1;
while(lo <= hi){
int mid = lo + (hi - lo)/2;
if(key < a[mid]){
hi = mid -1;
}else if(key>a[mid]){
lo = mid +1;
}else if(key=a[mid]){
return mid;
}
}
return -1;
}
}
如何调用该方法?由于二分查找必须在一列数字有序的情况下才可以使用此方法,因此在使用此查找时需要对该查找数组a进行排序,使用Arrays.sort(a);