Java代码实现二分查找法
时间: 2024-02-23 13:31:32 浏览: 83
二分查找法是一种在有序数组中查找指定元素的算法。它的基本思想是:将数组分成两半,每次比较中间元素的值和目标值的大小关系,如果中间元素的值大于目标值,则在数组的左半部分继续查找;如果中间元素的值小于目标值,则在数组的右半部分继续查找;如果相等,则找到了目标值。
下面是Java代码实现的二分查找法的示例:
```
public class BinarySearch {
public static int binarySearch(int[] arr, int target) {
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;
}
}
```
在上面的代码中,数组`arr`是要查找的有序数组,`target`是要查找的目标值。函数`binarySearch`返回目标值在数组中的位置,如果目标值不存在,则返回-1。
使用二分查找法的前提是数组必须是有序的。在Java中,可以使用`Arrays.sort`方法对数组进行排序。
例如,要查找数组`arr`中是否存在值为5的元素,可以使用如下代码:
```
int[] arr = {1, 3, 5, 7, 9};
int target = 5;
阅读全文