二分查找又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。public class biSearch { public static int halfSearch(int[] arr, int number) { int min = 0; int max = arr.length; int mid = 0; while (min <= max) { mid = (min + max) / 2; if (number < arr[mid]) { max = mid - 1; } else if (number > arr[mid]) { min = mid + 1; } else { return mid; } } return -1; } public static void main(String[] args) { int[] arr = {2, 4, 6, 7, 9}; int x = halfSearch(arr, 7); System.out.println(x); }}
来源:https://www.cnblogs.com/rocdata/p/11445574.html