Jadual Kandungan
Kaedah 1: Gunakan kaedah terbina dalam tatasusunan
Tatabahasa
Contoh
Output
Kaedah 2: Gunakan logik tersuai kami
Isih menggunakan isihan gelembung
Algoritma
Kesimpulan
Rumah Java javaTutorial Isih dan cari elemen dalam Java

Isih dan cari elemen dalam Java

Aug 30, 2023 pm 08:09 PM
pengisihan java carian java Pengisihan unsur

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!

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

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Mar 07, 2025 pm 06:09 PM

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Mar 17, 2025 pm 05:44 PM

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Mar 07, 2025 pm 06:12 PM

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Mar 17, 2025 pm 05:35 PM

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Mar 07, 2025 pm 05:52 PM

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Iceberg: Masa Depan Jadual Data Tasik Iceberg: Masa Depan Jadual Data Tasik Mar 07, 2025 pm 06:31 PM

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas? Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas? Mar 17, 2025 pm 05:43 PM

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Mar 17, 2025 pm 05:46 PM

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

See all articles