/**
* 二分查找算法
*/
public int binarySearch(int[] array, int targetValue, int start, int end) {
if (start > end) {
// 未找到目标
return -1;
}
int middlePosition = (start + end) / 2;
int middleValue = array[middlePosition];
if (middleValue == targetValue) {
// 找到目标,退出
return middlePosition;
}
if (middleValue > targetValue) {
// 在前半部分继续查找
return binarySearch(array, targetValue, start, middlePosition - 1);
} else {
// 在后半部分继续查找
return binarySearch(array, targetValue, middlePosition + 1, end);
}
}