ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Computers & Software»
  • Computer Science & Programming»
  • Programming Languages

Java Source Code in a Recursive Linear Search

Updated on November 1, 2013

Get A Website Plus a Free Domain Name in Just 1 Hour!

Bring the new technology in your hands! Share your skills, improve and impress. Get Your Own Website and a Free Domain Name Here!

I just finished this java source code on linear search using recursion. Another program to show how array and recursion works. The program will prompt the user to enter all the list of numbers he wants and then he will enter a number to search if it is on the list or not. if it is on the list the program will return the array index of the number and if it is not on the list the program simply return -1.

First Thing First What is a Linear Search?

Linear Search is also known as a sequential search. It search the number the user looking for in an array in a sequential order. First the program must check first if the the index of the array is equal to the last index. Meaning the number in an array is only one, so linear search can't be performed on an array with only one index. The program must return -1 as said on the paragraph above. However, if it is not, then it checks the index value if it is equal to the number the user looking for, if it is equal it simply output the index number; but if not, it loops again recursively. You can see the source code and sample output below.


Java Source Code on a Recursive Linear Search


//Java source code on linear search using recursion
//Java class

public class Linear_Search

{

public void linSearch2(int[] arr, int fIndex, int lIndex, int searchNum)

{

if(fIndex == lIndex)

{

System.out.print("-1");

}

else

{

if(arr[fIndex] == searchNum)

{

System.out.print(fIndex);

}

else

{

linSearch2(arr, fIndex+1, lIndex, searchNum);

}

}

}

//main class


import java.util.Scanner;

public class Main {


    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter the size of the array: ");
        int size = input.nextInt();
        System.out.print("Enter an array of numbers: ");

        int[] arr = new int[size];

        for(int i=0; i<arr.length; i++)
        {
            arr[i]=input.nextInt();
        }

        System.out.print("Enter the number you want to search: ");
        int search = input.nextInt();

       

        Linear_Search access = new Linear_Search();

        System.out.print("The position of the search item is at array index ");
        access.linSearch2(arr, 0, arr.length, search);
    }

}

If the number is on the list, here is the sample output.

Sample Output:

Enter the size of the array: 6

Enter an array of numbers:35 6 8 65 100 44

Enter the number you want to search:65

The position of the search item is at array index 3

If the number is not on the list, here is the sample output.

Sample Output:

Enter the size of the array: 6


Enter an array of numbers: 77 4 3 2 56 60

Enter the number you want to search: 7

The position of the search item is at array index -1

Since the array index starts at 0, the length of the array would be size-1, so the returned place of the number in the first sample output would be really 3 and not 4. You can test and try it out on your java compiler. Happy coding.


Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.