Rumah > Java > javaTutorial > teks badan

Isih dan cari elemen dalam Java

WBOY
Lepaskan: 2023-08-30 20:09:10
ke hadapan
1208 orang telah melayarinya

Isih dan cari elemen dalam Java

Isih dan cari ialah operasi asas yang boleh kami lakukan pada tatasusunan. Isih bermaksud menyusun semula elemen senarai atau tatasusunan yang diberikan dalam tertib menaik atau menurun, manakala mencari bermaksud mencari elemen atau indeksnya dalam senarai.

Walaupun terdapat pelbagai algoritma yang tersedia untuk melaksanakan operasi ini, dalam artikel ini, kami akan menggunakan sebahagian daripadanya untuk mengisih dan mencari elemen dalam java. Kita akan kaji satu persatu.

Kaedah 1: Gunakan kaedah terbina dalam tatasusunan

Dalam bahagian ini, kita akan membincangkan kaedah berikut yang membantu dalam menyusun dan mencari elemen dalam tatasusunan.

sort() - Ia ialah kaedah statik kelas Array yang mengisih tatasusunan yang diluluskan sebagai parameter dalam tertib menaik.

Tatabahasa

Arrays.sort(nameOfarray);
Salin selepas log masuk

binarySearch() - Ia juga merupakan kaedah statik kelas Arrays. Ia menerima dua parameter, yang pertama ialah tatasusunan yang elemennya perlu dicari dan yang kedua ialah elemen yang perlu kita cari dalam tatasusunan itu.

Ia mengembalikan nombor indeks elemen yang diluluskan sebagai hujah.

Tatabahasa

Arrays.binarySearch(nameOfarray, element);
Salin selepas log masuk

Contoh

import java.util.*;
public class Srch {
   public static void main(String args[]) {
      int araylist[] = {9, 3, 56, 0, -2, -6, 2, 1, 80};
      System.out.print("The given unsorted list: ");
      // for each loop that prints the original array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      Arrays.sort(araylist); 
      // method to sort given array
      System.out.println();
      System.out.print("The newly sorted list: ");
      // for each loop that prints the newly sorted array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      System.out.println();
      // method to search given element
      int position = Arrays.binarySearch(araylist, 1);
      if(position > -1) {
         System.out.print("Element is available at index: " + position);
      } else {
         System.out.print("Element is not available");
      }
   }
} 
Salin selepas log masuk

Output

The given unsorted list: 9 3 56 0 -2 -6 2 1 80 
The newly sorted list: -6 -2 0 1 2 3 9 56 80 
Element is available at index: 3
Salin selepas log masuk

Kaedah 2: Gunakan logik tersuai kami

Isih menggunakan isihan gelembung

Algoritma

  • Langkah 1 - Mula-mula, isytiharkan dan mulakan tatasusunan bernama "araylist" dan pembolehubah integer bernama "temp" untuk menyimpan sementara elemen yang dialihkan.

  • Langkah 2 - Gunakan dua untuk gelung untuk membandingkan elemen kedudukan ke-i dengan elemen ke-i + ke-1. Cipta blok if di dalam gelung kedua untuk memeriksa elemen mana yang lebih besar dan kemudian kami melakukan operasi anjakan untuk menyusun semula elemen dalam tertib menaik.

  • Langkah 3 - Sekarang menggunakan setiap gelung, kami akan mencetak tatasusunan yang diisih.

Contoh

public class Bubble {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int temp = 0; 
      System.out.print("The given unsorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }   
      for (int i = 0; i < araylist.length; i++) {     
         for (int j = i+1; j < araylist.length; j++) {     
            if(araylist[i] > araylist[j]) {    
               temp = araylist[i];    
               araylist[i] = araylist[j];    
               araylist[j] = temp;    
            }     
         }     
      }
      System.out.println();
      System.out.print("The newly sorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }     
   }     
}
Salin selepas log masuk

Output

The given unsorted list: 9 3 56 0 2 1 80 
The newly sorted list: 0 1 2 3 9 56 80 
Salin selepas log masuk

Cari menggunakan carian linear

Algoritma

  • Langkah 1 - Mula-mula, isytiharkan dan mulakan tatasusunan yang dipanggil "araylist" dan pembolehubah integer dipanggil "searchElem" yang akan kita cari dalam tatasusunan. Kami juga memerlukan dua pembolehubah integer "isFound" dan "locate".

  • Langkah 2 - Sekarang, buat gelung for yang akan berjalan sehingga panjang tatasusunan. Dalam gelung ini, gunakan blok if untuk menyemak sama ada "searchElem" wujud dalam tatasusunan. Jika tersedia, indeksnya disimpan dalam pembolehubah "locate" dan pembolehubah "isFound" dinaikkan kepada 1.

  • Langkah 3 - Seterusnya, kami mencipta blok if else untuk menyemak sama ada pembolehubah "isFound" meningkat kepada 1. Jika ia sama dengan 1, ia bermakna elemen telah dijumpai dan kami mengembalikan indeks. Jika tidak, pernyataan dalam blok else akan dilaksanakan.

Contoh

public class Linear {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int searchElem = 0;
      int isFound = 0;
      int locate = 0;
      for(int i = 0; i < araylist.length; i++) {
         if(searchElem == araylist[i]) {
            isFound = 1;
            locate = i;
         } 
      }
      if(isFound == 1) {
         System.out.print("Element is available at index: " + locate);
      } else {
         System.out.print("Element is not available");
      }
   }
}
Salin selepas log masuk

Output

Element is available at index: 3
Salin selepas log masuk

Kesimpulan

Dalam artikel ini, kami membincangkan cara mengisih elemen tatasusunan dan melakukan operasi carian untuk mencari elemen tertentu tatasusunan itu. Kita boleh menggunakan kaedah terbina dalam yang dipanggil "sort()" atau sebarang algoritma pengisihan dan carian.

Atas ialah kandungan terperinci Isih dan cari elemen dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!