用java写个二分查找
时间: 2023-03-22 18:03:37 浏览: 83
好的,我可以用中文回答您的问题。
如果您要使用Java编写一个二分查找算法,可以按照以下步骤进行:
1. 首先,定义一个方法来执行二分查找。该方法应该包含三个参数:一个整数数组、要查找的目标值和数组的起始索引。
2. 接下来,计算数组的中间索引。您可以使用以下代码来计算中间索引:
```
int middleIndex = startIndex + (endIndex - startIndex) / 2;
```
这个公式将startIndex和endIndex相加,然后除以2,以获取中间索引。
3. 然后,检查目标值是否等于数组的中间元素。如果是,则返回中间索引。
4. 如果目标值小于中间元素,则递归调用该方法,传递startIndex和中间索引作为新的endIndex。
5. 如果目标值大于中间元素,则递归调用该方法,传递中间索引和endIndex作为新的startIndex。
6. 如果目标值不在数组中,则返回-1表示未找到。
以下是一个Java实现的示例代码:
```
public class BinarySearch {
public static int binarySearch(int[] array, int target, int startIndex, int endIndex) {
if (startIndex > endIndex) {
return -1;
}
int middleIndex = startIndex + (endIndex - startIndex) / 2;
if (target == array[middleIndex]) {
return middleIndex;
} else if (target < array[middleIndex]) {
return binarySearch(array, target, startIndex, middleIndex - 1);
} else {
return binarySearch(array, target, middleIndex + 1, endIndex);
}
}
}
```
您可以在需要使用二分查找算法的程序中调用此方法。
阅读全文