public class MyBinarySearch{
public static void main(String[] args) {
int i = 100;
int[] array = new int[i >> 1];
int n = 0;
while ((i -= 2) > 0) {
array[n++] = i;
}
// 查找4所在位置
System.out.println(BinarySearch(array, 0, array.length - 1, 4));
// 查找1所在位置
System.out.println(BinarySearch(array, 0, array.length - 1, 1));
}
public static int Binary(int[] array, int start, int end, int target) {
int center = (start + end) >> 1;
int mid = array[center];
if (target < array[start] || target > array[end] || start > end) {
return -1;
}
if (target > mid) {
return Binary(array, center + 1, end, target);
} else if (target < mid) {
return Binary(array, start, center - 1, target);
} else {
return center;
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-964832.html