import java.util.Arrays;
/*
*二分查找
*/
public class BirnarySearch {
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7,8,9};
Arrays.sort(a);//1.先排序保证数组必须是有序的
System.out.println(rank(1, a));
}
/**
*
* @param key 要查找的值
* @param a 数组
* @return 结果的数组下标
*/
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 return mid;
}
return -1 ;
}
}
二分查找-Java
最新推荐文章于 2024-01-26 22:42:33 发布