
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Recursively Linearly Search an Element in an Array in Java
In this article, we will understand how to recursively linearly search an element in an array. Linear search is a very simple search algorithm wherein a sequential search is done for all items one by one.
Below is a demonstration of the same −
Suppose our input is −
Input array: 14 20 35 47 50 65 72 81 90 99 Key element: 72
The desired output would be −
The element 72 is present at position: 6
Algorithm
Step 1 - START Step 2 - Declare a string array namely input_array, two integer namely key_element and index Step 3 - Define the values. Step 4 - Iterate through the array. Step 5 - Define the element to be searched. Invoke the recursive method by passing these parameters. Step 6 - Define an ‘if’ condition with the condition that a failure would return -1, otherwise the position of the element itself. Step 7 - Display this on the console. Step 8 - Stop
Example 1
Here, we show linear search on integers.
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("The elements of the array is defined as "); for (int i : input_array) { System.out.print(i +" "); } int key_element = 72; System.out.println("\n\nThe elements to be searched in the array is: " + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\nThe element " + key_element + " is present at position: " + index); else System.out.println("Element " + key_element + " is not present: "); } }
Output
The elements of the array is defined as 14 20 35 47 50 65 72 81 90 99 The elements to be searched in the array is: 72 The element 72 is present at position: 6
Example 2
Here, we show linear search on strings.
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("The elements of the array is defined as "); for (String i : input_array) { System.out.print(i +" "); } String key_element = "Java"; System.out.println("\n\nThe elements to be searched in the array is: " + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\nThe element " + key_element + " is present at position: " + index); else System.out.println("Element " + key_element + " is not present: "); } }
Output
The elements of the array is defined as Scala Java Python Mysql The elements to be searched in the array is: Java The element Java is present at position: 1
Advertisements