📅  最后修改于: 2023-12-03 14:43:04.514000             🧑  作者: Mango
在Java中,递归算法是一种非常常见的算法。 在递归算法中,函数调用自身来完成操作。 在本文中,我们将介绍如何使用递归实现线性搜索数组中的元素。
以下是一个Java程序,它使用递归算法在数组中线性搜索元素:
public class SearchArray {
public static int linearSearch(int[] arr, int key) {
return linearSearch(arr, key, 0);
}
private static int linearSearch(int[] arr, int key, int index) {
if (index >= arr.length) {
return -1;
} else if (arr[index] == key) {
return index;
} else {
return linearSearch(arr, key, index + 1);
}
}
public static void main(String[] args) {
int[] arr = { 12, 34, 10, 32, 67 };
int key = 10;
int index = linearSearch(arr, key);
if (index == -1) {
System.out.println("Element is not found in the array");
} else {
System.out.println("Element is found at index: " + index);
}
}
}
在上面的代码中,我们定义了一个名为linearSearch
的公共静态方法,该方法接受一个整数数组以及要搜索的关键字。 我们还定义了一个私有静态方法,名为linearSearch
,该方法接受扩展参数列表arr
,key
和index
。 在私有方法中,我们首先检查数组索引是否超出范围。 如果是,则返回-1。 否则,我们检查当前索引是否包含关键字。 如果是,则返回索引值。 否则,我们用递归方式调用方法,将索引增加1,继续搜索数组。
在我们的main
方法中,我们定义了一个整数数组和用于搜索的关键字。 我们调用linearSearch
方法,并检查返回索引是否为-1。 如果是,则打印"Element is not found in the array"。 否则,打印"Element is found at index: ",后跟返回的索引值。
在Java中,使用递归算法实现线性搜索数组中的元素是一种非常常见的算法。 上述示例程序使用递归算法实现线性搜索数组中的元素。 要搜索一个数组,请获取输入数组和要搜索的关键字,调用线性搜索函数,然后检查返回的索引是否为-1。 如果索引是-1,则元素未找到。 否则,元素已找到,索引是返回的值。