Java Tutorial
Linear search is used on a collection of elements like array. Linear search technique is traversing a list of elements from starting index to ending index till that are found on the way.
Example, consider collection of elements as below
Linear search: searching starts from index 0 to ending index.
Linear search time complexity is O(N), here each element in an array is compared only once and N is the number of elements in the collection.
Reads the array of integers for required count and searches the search key in the array of integers.
Returns the search key index if key is found in the array of integers.
Returns -1 if key is not found in the array of integers.
import java.util.*; class LinearSearchTest { // Linear search method which search key in the array of integers // using for loop static int linearSearch(int[] numbers, int searchKey){ for (int i=1;i<numbers.length;i++){ if (searchKey == numbers[i]){ return i; } } return -1; } // Gets the Array of Integers static int[] getNumbers(Scanner sc){ int[] numbers; System.out.print("Enter Number of Elements: "); int count = sc.nextInt(); numbers = new int[count]; System.out.println(); System.out.println("Enter Array Numbers:"); for (int i=0;i<count;i++){ numbers[i]=sc.nextInt(); } return numbers; } public static void main(String[] args){ int[] numbers; Scanner sc = new Scanner(System.in); numbers = getNumbers(sc); System.out.println(); System.out.print("Enter Search Key: "); int searchKey = sc.nextInt(); sc.close(); int index = linearSearch(numbers, searchKey); // Prints the result, index -1 indicates that key is not found, //otherwise index location where key is found in array of integers. if (index >= 0){ System.out.println("Search key index in Array of Integers: "+index); } else { System.out.println("Search key is not found in Array of Integers!"); } } }Output:
D:\Java_Programs>javac LinearSearchTest.java D:\Java_Programs>java LinearSearchTest Enter Number of Elements: 5 Enter Array Numbers: 24 52 32 25 7 Enter Search Key: 32 Search key index in Array of Integers: 2 D:\Java_Programs>javac LinearSearchTest.java D:\Java_Programs>java LinearSearchTest Enter Number of Elements: 6 Enter Array Numbers: 25 48 97 18 65 8 Enter Search Key: 39 Search key is not found in Array of Integers!
This java program uses for each loop instead of for loop to search the key element in array of integers.
This code works in the java compiler version greater than or equal 1.5. otherwise raises the compiler error for below code.
import java.util.*; class LinearSearchTest { // Linear search method which search key in the array of integers // using for each static int linearSearch(int[] numbers, int searchKey){ int i = 0; for (int number : numbers){ if (searchKey == number){ return i; } i++; } return -1; } // Gets the Array of Integers static int[] getNumbers(Scanner sc){ int[] numbers; System.out.print("Enter Number of Elements: "); int count = sc.nextInt(); numbers = new int[count]; System.out.println(); System.out.println("Enter Array Numbers:"); for (int i=0;i<count;i++){ numbers[i]=sc.nextInt(); } return numbers; } public static void main(String[] args){ int[] numbers; Scanner sc = new Scanner(System.in); numbers = getNumbers(sc); System.out.println(); System.out.print("Enter Search Key: "); int searchKey = sc.nextInt(); sc.close(); int index = linearSearch(numbers, searchKey); // Prints the result, index -1 indicates that key is not found, //otherwise index location where key is found in array of integers. if (index >= 0){ System.out.println("Search key index in Array of Integers: "+index); } else { System.out.println("Search key is not found in Array of Integers!"); } } }Output:
Enter Number of Elements: 5 Enter Array Numbers: 25 45 25 29 35 Enter Search Key: 25 Search key index in Array of Integers: 0
Java Tutorial
Privacy Policy | Copyright2020 - All Rights Reserved. | Contact us
| Report website issues in Github
| Facebook page
| Google+ page