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;
}
}
}
java实现二分查找(迭代)
最新推荐文章于 2021-03-03 18:35:57 发布