Java二分法的使用范围:必须是有序的数组,采用顺序存储的结构;
public static int binarySearch(int[] array, int value) {
// 起始位
int low = 0;
// 最后一位的下标
int high = array.length - 1;
// 中间位
int middle;
while (low <= high) {
middle = (low + high) / 2;
if (array[middle] == value) {
return middle;
} else if (array[middle] > value) {
// 说明要查找的值在中间的左边
high = middle - 1;
} else {
// 说明要查找的值在中间的右边
low = middle + 1;
}
}
return -1;
}
转载请注明原文地址: https://ju.6miu.com/read-1202235.html