logo

חיפוש לינארי ב-Java

חיפוש לינארי משמש לחיפוש אלמנט מפתח ממספר אלמנטים. חיפוש לינארי פחות בשימוש היום כי הוא איטי יותר מחיפוש בינארי ו-hashing.

אַלגוֹרִיתְם:

  • שלב 1: חצו את המערך
  • שלב 2: התאם את אלמנט המפתח לרכיב המערך
  • שלב 3: אם נמצא רכיב מפתח, החזר את מיקום האינדקס של רכיב המערך
  • שלב 4: אם רכיב מפתח לא נמצא, החזר -1

בואו נראה דוגמה לחיפוש ליניארי ב-java שבו אנחנו הולכים לחפש אלמנט ברצף מתוך מערך.

 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 (דרך אחרת)

אתה יכול גם להשתמש בשיטה שבה מערך אינו מוגדר מראש. כאן, המשתמש צריך לשים את האלמנטים כקלט ולבחור אלמנט אחד כדי לבדוק את מיקומו.

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