logo

Java'da Doğrusal Arama

Doğrusal arama, birden fazla öğe arasından bir anahtar öğeyi aramak için kullanılır. Doğrusal arama günümüzde daha az kullanılmaktadır çünkü ikili arama ve karma işleminden daha yavaştır.

Algoritma:

  • 1. Adım: Diziyi çaprazlayın
  • Adım 2: Anahtar öğeyi dizi öğesiyle eşleştirin
  • Adım 3: Anahtar öğe bulunursa dizi öğesinin dizin konumunu döndürün
  • Adım 4: Anahtar öğe bulunamazsa -1 değerini döndürün

Java'da bir diziden sırayla bir öğe arayacağımız doğrusal arama örneğini görelim.

 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++){>

Java'da Doğrusal Arama (Başka bir yol)

Dizinin önceden tanımlanmadığı bir yöntemi de kullanabilirsiniz. Burada kullanıcının elemanları girdi olarak koyması ve konumunu kontrol etmek için bir eleman seçmesi gerekir.

 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;>