请用Java语言实现折半查找的简单代码
时间: 2023-09-22 09:07:45 浏览: 74
用java实现折半查找
好的,以下是Java语言实现折半查找的简单代码:
```java
public class BinarySearch {
public static int search(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = (left + right) / 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) {
int[] arr = {1, 2, 3, 5, 8, 9};
int target = 5;
int index = search(arr, target);
if (index != -1) {
System.out.println("目标元素 " + target + " 的下标为 " + index);
} else {
System.out.println("没有找到目标元素 " + target);
}
}
}
```
这段代码实现了在有序数组中使用折半查找算法查找目标元素的功能,如果找到了目标元素,就返回其下标;如果没找到,就返回 -1。在 main 函数中,我们定义了一个有序数组,一个目标元素,然后调用 search 函数进行查找,并输出查找结果。
阅读全文