java二分法
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9,12,13,14,15,16};
System.out.println(search(arr, 14));
}
public static int search(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;
}

浙公网安备 33010602011771号