二分查找Java代码的所有方式
时间: 2024-05-12 08:17:42 浏览: 15
我可以帮您回答二分查找Java代码的所有方式,以下是一种简单的实现方式:
```java
public static int binarySearch(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表示未找到。
相关问题
二分查找java代码
下面是一个简单的Java二分查找算法实现代码示例:
```
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;
}
```
这个方法接收一个整数数组和一个目标值作为参数,返回目标值在数组中的索引。如果目标值不在数组中,则返回-1。
这个方法使用了一个while循环来不断缩小查询范围,直到找到目标值或者确定目标值不在数组中。在每次循环中,它计算出中间索引mid,然后比较arr[mid]和目标值的大小关系,根据比较结果更新left和right的值,最终找到目标值或者返回-1。
二分查找的代码Java
以下是Java实现二分查找的代码示例:
```java
public static int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while ( <= 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。
--相关问题--:
1. 二分查找算法的时间复杂度是多少?
2. 二分查找算法只适用于有序数组吗?
3. 如何在Java中实现快速排序算
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)