public static int myBinarsSearch(int[] a, int key, int start, int end) {
//start一定不能大于end
while (start <= end) {
int middle = (start + end) / 2;
if (key == a[middle]) {
return middle;
} else if (key > a[middle]) {
return myBinarsSearch(a, key, middle + 1, end);
} else if (key < a[middle]) {
return myBinarsSearch(a, key, start, middle - 1);
}
}
return -1;
}
public static void main(String[] args) {
int[] a = { 1, 5, 6, 2, 8, 11, 99 };
int result = Er_digui.myBinarsSearch(a, 99, 0, a.length);
System.out.printf("傳回的下标為:%d", result);
}