Java编程题-二分法查找 发表于 2020-02-25 | 分类于 Java | 字数统计: 156 字 | 阅读时长 ≈ 1 分钟 二分法查找是建立在已经排序的基础之上的在这个数组中找到 7 的下标:1, 3, 4, 5, 7, 8, 10 1234567891011121314151617181920212223242526272829public class MyArrays { public static void main(String[] args) { int[] a = { 1, 3, 4, 5, 7, 8, 10 }; int destElement = 7; int index = binarySearch(a, destElement); System.out.println((index == -1) ? destElement + " 元素不存在!" : destElement + " 在数组中的下标为:" + index); } private static int binarySearch(int[] a, int destElement) { int begin = 0; int end = a.length - 1; while (begin <= end) { int mid = (begin + end) / 2; if (destElement == a[mid]) { return mid; } else if (destElement < a[mid]) { end = mid - 1; } else if (destElement > a[mid]) { begin = mid + 1; } } return -1; }}