public class BinarySearchClass
{ public static int binary_search(int[] array, int value) { int beginIndex = 0;// 低位下标 int endIndex = array.length - 1;// 高位下标 int midIndex = -1; while (beginIndex <= endIndex) { midIndex = beginIndex + (endIndex - beginIndex) / 2;//防止溢出 if (value == array[midIndex]) { return midIndex; } else if (value < array[midIndex]) { endIndex = midIndex - 1; } else { beginIndex = midIndex + 1; } } return -1; //找到了,返回找到的数值的下标,没找到,返回-1 } //start 提示:自动阅卷起始唯一标识,请勿删除或增加。 public static void main(String[] args) { System.out.println("Start..."); int[] myArray = new int[] { 1, 2, 3, 5, 6, 7, 8, 9 }; System.out.println("查找数字8的下标:"); System.out.println(binary_search(myArray, 8)); } //end //提示:自动阅卷结束唯一标识,请勿删除或增加。 }