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; }