java递归查询代码
时间: 2023-07-09 14:11:11 浏览: 45
以下是一个简单的 Java 递归查询代码示例:
```java
public class RecursiveSearch {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int target = 3;
int index = search(arr, target, 0, arr.length - 1);
if (index != -1) {
System.out.println("目标元素 " + target + " 在数组中的索引为:" + index);
} else {
System.out.println("目标元素 " + target + " 不在数组中");
}
}
public static int search(int[] arr, int target, int start, int end) {
if (start > end) {
return -1;
}
int mid = start + (end - start) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] > target) {
return search(arr, target, start, mid - 1);
} else {
return search(arr, target, mid + 1, end);
}
}
}
```
该示例中使用递归实现了二分查找算法,可以在一个已排序的整数数组中查找指定的目标元素。在 `search` 方法中,首先判断起始索引是否大于结束索引,如果是,说明数组中没有目标元素,返回 -1。然后计算中间索引,并判断中间元素与目标元素的大小关系,如果相等则返回中间索引,否则根据大小关系缩小搜索范围递归调用 `search` 方法,直到找到目标元素或者确定目标元素不在数组中。