用jave写一个二分递归算法
时间: 2023-12-29 16:55:43 浏览: 76
下面是使用Java编写的二分递归算法:
```
public class BinarySearch {
public static int binarySearch(int[] arr, int low, int high, int key) {
if (low > high) {
return -1;
}
int mid = (low + high) / 2;
if (arr[mid] == key) {
return mid;
} else if (arr[mid] < key) {
return binarySearch(arr, mid + 1, high, key);
} else {
return binarySearch(arr, low, mid - 1, key);
}
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int key = 5;
int index = binarySearch(arr, 0, arr.length - 1, key);
if (index != -1) {
System.out.println("Element found at index " + index);
} else {
System.out.println("Element not found in the array");
}
}
}
```
此代码实现了一个名为`binarySearch`的方法,它接受一个整数数组,要查找的键,以及要搜索的数组范围的开始和结束索引。该方法使用递归算法来实现二分查找。如果找到了键,则返回索引,否则返回-1。该代码还包含一个主方法,用于演示如何使用`binarySearch`方法来查找数组中的元素。
阅读全文