用java写二分查找
时间: 2023-02-06 17:14:02 浏览: 167
java二分查找实现
二分查找是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将数组分成两个部分,每次比较中间元素的值和目标值的大小,并根据结果将搜索区间缩小一半。
下面是用 Java 实现二分查找的代码示例:
```
public class BinarySearch {
public static int binarySearch(int[] array, int target) {
int left = 0;
int right = array.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (array[mid] == target) {
return mid;
} else if (array[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // target not found
}
public static void main(String[] args) {
int[] array = {1, 3, 5, 7, 9};
int target = 3;
int result = binarySearch(array, target);
if (result != -1) {
System.out.println("Target found at index: " + result);
} else {
System.out.println("Target not found");
}
}
}
```
在这段代码中,我们定义了一个名为 `binarySearch` 的函数,它接受两个参数:一个数组和一个目标值。函数通过使用二分查找算法在数组中查找目标值,并返回目标值在数组中的位置(如果找到的话)。否则,函数返回 -1。
在 `main` 函数中,我们测试了这个函数,并在数组 `{1, 3, 5, 7, 9}` 中查找目标值 3。如果找到了,就会输出 "Target found at index: 1"(因为 3 在数组中
阅读全文