public class Test3 {
public static void main(String[] args) {
Integer[] data = new Integer[] { 1, 3, 5, 7, 9, 11, 15, 19 };
int target = 19;
int location = BinarySearch(data, target);
System.out.println(location);
}
private static int BinarySearch(Integer[] data, int target) {
int l = 0, r = data.length - 1;
int m = 0;
while (l <= r) {
m = (l + r) >>> 1;
if (data[m] == target) {
return m; // 找到对应的元素 采用一分为2的策略
} else if (data[m] < target) {
l = m + 1;
} else {
r = m - 1;
}
}
return -1; // 表示没有找到对应的元素
}
}
16、二分查找
最新推荐文章于 2024-07-29 14:22:26 发布