📜  Java程序递归线性搜索数组中的元素(1)

📅  最后修改于: 2023-12-03 14:43:04.514000             🧑  作者: Mango

Java程序递归线性搜索数组中的元素

在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,该方法接受扩展参数列表arrkeyindex。 在私有方法中,我们首先检查数组索引是否超出范围。 如果是,则返回-1。 否则,我们检查当前索引是否包含关键字。 如果是,则返回索引值。 否则,我们用递归方式调用方法,将索引增加1,继续搜索数组。

在我们的main方法中,我们定义了一个整数数组和用于搜索的关键字。 我们调用linearSearch方法,并检查返回索引是否为-1。 如果是,则打印"Element is not found in the array"。 否则,打印"Element is found at index: ",后跟返回的索引值。

总结

在Java中,使用递归算法实现线性搜索数组中的元素是一种非常常见的算法。 上述示例程序使用递归算法实现线性搜索数组中的元素。 要搜索一个数组,请获取输入数组和要搜索的关键字,调用线性搜索函数,然后检查返回的索引是否为-1。 如果索引是-1,则元素未找到。 否则,元素已找到,索引是返回的值。