用Java请编写程序代码实现折半查找算法(关键字序列可自由设定)。
时间: 2024-12-08 21:20:55 浏览: 28
折半查找算法也称为二分查找,适用于有序数组。以下是一个简单的Java程序,用于实现折半查找:
```java
public class BinarySearch {
public int binarySearch(int[] arr, int target) {
if (arr == null || arr.length == 0) {
return -1; // 如果数组为空,返回-1表示未找到
}
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2; // 计算中间索引
if (arr[mid] == target) {
return mid; // 找到目标值,返回其索引
} else if (arr[mid] < target) {
left = mid + 1; // 目标值大于中间值,缩小左边界
} else {
right = mid - 1; // 目标值小于中间值,缩小右边界
}
}
return -1; // 没有找到目标值,返回-1
}
public static void main(String[] args) {
BinarySearch bs = new BinarySearch();
int[] array = {1, 3, 5, 7, 9}; // 示例数组,你可以自定义这个序列
int target = 5;
System.out.println("Target " + target + " is at index " + bs.binarySearch(array, target));
}
}
```
在这个代码中,`binarySearch`方法接受一个整数数组和一个目标值作为输入。如果找到了目标值,它会返回该值的索引;如果没有找到,则返回-1。
阅读全文