//找不到、数组为空返回-1,否则返回数组下标
public class BinarySearch {
public static int search(int[] a, int num) {
if(a==null||a.length==0){
return -1;
}
int low = 0;
int high = a.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (a[mid] == num) {
return mid;
} else if(a[mid] > num) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] a = {1,2,3,4,7,8,9,10,12,14};
System.out.println(search(a,7));
}
}
二分查找
最新推荐文章于 2021-04-24 16:45:18 发布