/**
*二分法查找
*
*/
public static void main(String[] args) {
int[] arr = new int[] { 10, 21, 24, 35, 46, 57, 67, 78, 90 };
System.out.println(NumberSearch.NumSearch(arr, 10));
System.out.println(NumSearch(arr, 21));
System.out.println(NumSearch(arr, 35));
System.out.println(NumSearch(arr, 78));
System.out.println(NumSearch(arr, 95));
}
public static int NumSearch(int arr[], int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int middle = (start + end) / 2;
if (key < arr[middle]) {
end = middle - 1;
} else if (key > arr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}