java实现二分查找算法
时间: 2023-07-19 16:21:46 浏览: 107
以下是 Java 实现的二分查找算法:
```java
public static int binarySearch(int[] arr, int target) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1;
}
```
其中,`arr` 是已排序的数组,`target` 是要查找的目标值。算法使用两个指针 `low` 和 `high` 来定义当前的搜索范围,初始时指向数组的第一个和最后一个元素。在每一轮迭代中,算法计算当前搜索范围的中间位置 `mid`,并根据 `arr[mid]` 与 `target` 的大小关系来更新指针 `low` 和 `high`。如果找到了目标值,算法返回其索引;否则,如果搜索范围已经缩小到只有一个元素,仍然没有找到目标值,则算法返回 -1 表示搜索失败。
阅读全文