Java 程序以递归方式线性搜索数组中的元素
javacampus interviewserver side programmingprogramming
在本文中,我们将了解如何以递归方式线性搜索数组中的元素。线性搜索是一种非常简单的搜索算法,其中对所有项目逐一进行顺序搜索。
下面是相同的演示 −
假设我们的输入是 −
输入数组: 14 20 35 47 50 65 72 81 90 99 关键元素:72
期望输出的将是 −
元素 72 位于位置:6
算法
步骤 1 - 开始 步骤 2 - 声明一个字符串数组,即 input_array,两个整数,即 key_element 和 index 步骤 3 - 定义值。 步骤 4 - 遍历数组。 步骤 5 - 定义要搜索的元素。通过传递这些参数调用递归方法。 步骤 6 - 定义一个 ‘if’ 条件,条件是失败将返回 -1,否则返回元素本身的位置。 步骤 7 - 在控制台上显示此信息。 第 8 步 - 停止
示例 1
这里,我们展示整数的线性搜索。
public class LinearSearch { static int recSearch(int input_array[], int l, int r, int key_element) { if (r < l) return -1; if (input_array[l] == key_element) return l; if (input_array[r] == key_element) return r; return recSearch(input_array, l+1, r-1, key_element); } public static void main(String[] args) { int input_array[] = {14, 20, 35, 47, 50, 65, 72, 81, 90, 99}; System.out.println("数组元素定义为"); for (int i : input_array) { System.out.print(i +" "); } int key_element = 72; System.out.println("\n\n数组中要查找的元素为:" + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\n元素 " + key_element + " 存在于位置: " + index); else System.out.println("元素 " + key_element + " 不存在: "); } }
输出
数组元素定义为 14 20 35 47 50 65 72 81 90 99 数组中要搜索的元素为:72 元素 72 位于位置:6
示例 2
这里,我们展示对字符串的线性搜索。
public class Demo { static int recSearch(String input_array[], int l, int r, String key_element) { if (r < l) return -1; if (input_array[l] == key_element) return l; if (input_array[r] == key_element) return r; return recSearch(input_array, l+1, r-1, key_element); } public static void main(String[] args) { String input_array[] = { "Scala", "Java", "Python", "Mysql"}; System.out.println("数组元素定义为"); for (String i : input_array) { System.out.print(i +" "); } String key_element = "Java"; System.out.println("\n\n数组中要查找的元素为:" + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\n元素 " + key_element + " 存在于位置: " + index); else System.out.println("元素 " + key_element + " 不存在: "); } }
输出
数组的元素定义为 Scala Java Python Mysql 数组中要搜索的元素是:Java 元素 Java 位于位置:1