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.
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.
Arrays.sort(nameOfarray);
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.
Arrays.binarySearch(nameOfarray, element);
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"); } } }
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
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.
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 + " "); } } }
The given unsorted list: 9 3 56 0 2 1 80 The newly sorted list: 0 1 2 3 9 56 80
Cari menggunakan carian linear
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.
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"); } } }
Element is available at index: 3
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!