二分搜索
查找一维数组里面某一个元素的索引值,找不到则返回-1.
static int binarySearch(int[] arr, int key) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midValue = arr[mid];
if (midValue < key) {
low = mid + 1;
} else if (midValue > key) {
high = mid - 1;
} else {
return mid;
}
}
return -1;
}