logo

Lineare Suche in Java

Die lineare Suche wird verwendet, um ein Schlüsselelement aus mehreren Elementen zu durchsuchen. Die lineare Suche wird heutzutage weniger verwendet, da sie langsamer ist als die binäre Suche und das Hashing.

Algorithmus:

  • Schritt 1: Durchlaufen Sie das Array
  • Schritt 2: Ordnen Sie das Schlüsselelement dem Array-Element zu
  • Schritt 3: Wenn das Schlüsselelement gefunden wird, geben Sie die Indexposition des Array-Elements zurück
  • Schritt 4: Wenn das Schlüsselelement nicht gefunden wird, geben Sie -1 zurück

Sehen wir uns ein Beispiel einer linearen Suche in Java an, bei der wir nacheinander ein Element in einem Array durchsuchen.

 public class LinearSearchExample{ public static int linearSearch(int[] arr, int key){ for(int i=0;i <arr.length;i++){ if(arr[i]="=" key){ return i; } -1; public static void main(string a[]){ int[] a1="{10,20,30,50,70,90};" int key="50;" system.out.println(key+' is found at index: '+linearsearch(a1, key)); < pre> <span> Test it Now </span> <p>Output:</p> <pre> 50 is found at index: 3 </pre> <h2>Linear Search in Java (Another way)</h2> <p>You can also use a method where array is not predefined. Here, user has to put the elements as input and select one element to check its location.</p> <pre> import java.util.Scanner; class LinearSearchExample2 { public static void main(String args[]) { int c, n, search, array[]; Scanner in = new Scanner(System.in); System.out.println(&apos;Enter number of elements&apos;); n = in.nextInt(); array = new int[n]; System.out.println(&apos;Enter those &apos; + n + &apos; elements&apos;); for (c = 0; c <n; c++) array[c]="in.nextInt();" system.out.println('enter value to find'); search="in.nextInt();" for (c="0;" c < n; { if (array[c]="=" search) * searching element is present system.out.println(search + ' at location 1) '.'); break; } n) isn't in array.'); pre> <p>Output:</p> <strong>Use image LinearSearchExample</strong> </n;></pre></arr.length;i++){>

Lineare Suche in Java (andere Möglichkeit)

Sie können auch eine Methode verwenden, bei der das Array nicht vordefiniert ist. Hier muss der Benutzer die Elemente als Eingabe eingeben und ein Element auswählen, um seine Position zu überprüfen.

 import java.util.Scanner; class LinearSearchExample2 { public static void main(String args[]) { int c, n, search, array[]; Scanner in = new Scanner(System.in); System.out.println(&apos;Enter number of elements&apos;); n = in.nextInt(); array = new int[n]; System.out.println(&apos;Enter those &apos; + n + &apos; elements&apos;); for (c = 0; c <n; c++) array[c]="in.nextInt();" system.out.println(\'enter value to find\'); search="in.nextInt();" for (c="0;" c < n; { if (array[c]="=" search) * searching element is present system.out.println(search + \' at location 1) \'.\'); break; } n) isn\'t in array.\'); pre> <p>Output:</p> <strong>Use image LinearSearchExample</strong> </n;>