Isih Pilihan dalam Java ialah kaedah pengisihan yang terus mencari elemen terkecil dalam bahagian yang tidak diisih dan menyimpannya pada permulaan (untuk mengisih dalam tertib menaik). Proses ini akan diulang sehingga tatasusunan input diisih. Selain itu, dalam Isih Pemilihan, kita akan membahagikan tatasusunan input kepada dua subarray di mana satu tatasusunan digunakan untuk unsur yang diisih dan tatasusunan yang lain adalah untuk unsur yang tidak diisih. Pada mulanya, tidak akan ada sebarang unsur dalam subbaris yang diisih. Mari kita lihat cara kerja isihan pemilihan secara terperinci dalam bahagian berikut.
Isih pilihan berfungsi dengan cara yang mudah di mana ia menyimpan dua subarray daripada tatasusunan input. Mereka ialah:
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Berikut ialah algoritma yang digunakan untuk isihan Pemilihan
Mari kita memahami jenis pemilihan dengan contoh. Berikut ialah tatasusunan input yang perlu diisih. Unsur dalam warna Biru Tebal akan menjadi sebahagian daripada tatasusunan yang diisih.
Langkah 1: Tetapkan penuding MIN ke lokasi pertama. Jadi, penunjuk MIN menghala kepada 15.
Terkecil: = 15
Langkah 2: Cari elemen terkecil dengan membandingkannya dengan elemen yang lain. Membandingkan 15 dan 21, 15 adalah yang terkecil. Jadi, yang terkecil tidak akan berubah dalam kes ini.
Terkecil: = 15
Membandingkan 15 dan 6, 6 adalah yang terkecil.
Terkecil: = 6
Membandingkan 6 dan 3, 3 adalah yang terkecil.
Terkecil: = 3
3 akan menjadi lebih kecil dalam kes ini juga, kerana 19 lebih besar daripada 3.
Terkecil: = 3
Terkecil: = 3
Akhir sekali, dalam lelaran ini, 3 didapati sebagai yang terkecil.
Langkah 3: Tukar elemen terkecil dengan elemen di lokasi 0.
Langkah 4: Naikkan penunjuk MIN ke kedudukan seterusnya.
Langkah 5: Cari elemen terkecil seterusnya dengan membandingkannya dengan elemen yang lain.
Terkecil: = 21
Terkecil: = 6
Terkecil: = 6
Terkecil: = 6
Terkecil: = 6
Langkah 6: Tukar elemen terkecil dengan elemen di lokasi 1.
Ulang proses sehingga tatasusunan yang diisih terbentuk, seperti ditunjukkan di bawah.
Seperti yang telah dinyatakan di atas, isihan pemilihan adalah berdasarkan mencari minimum dan pertukaran. Sekarang, mari kita lihat cara melaksanakan isihan pemilihan menggunakan Java.
Kod:
import java.util.*; public class SelSortExample { //Method that implements Selectionsort public static void selsort(int[] arr) { int n=arr.length; //length of the array for(int i=0;i<n-1;i++) { int MIN=i; //set the first position as minimum System.out.println("Sorting based on Number "+(i+1)); //Find the smallest element by comparing with the element in MIN position for(int j=i+1;j<n;j++) { System.out.println("Comparing "+ arr[MIN] + " and " + arr[j]); if(arr[j]<arr[MIN]) { System.out.println(arr[MIN] + " is greater than " + arr[j] ); MIN=j; } } //Swap the smallest element with element in MIN position int temp=arr[i]; arr[i]=arr[MIN]; arr[MIN]=temp; } } public static void main(String[] args) { int[] arr= {15,21,6,3,19,20}; // input array System.out.println("Elements in the array before Sorting: "+ Arrays.<em>toString</em>(arr)); <em>selsort</em>(arr);//calling the selection sort method System.out.println("Elements in the array after Sorting: "+Arrays.<em>toString</em>(arr)); } }
Sampel Output:
Dalam program di atas, kami mempunyai dua kaedah-kaedah utama dan kaedah isihan jual. Kaedah utama memanggil kaedah isihan jual yang menghantar tatasusunan input sebagai hujah. Elemen minimum akan dikenal pasti dan ditukar dengan elemen yang ditunjuk oleh MIN.
The selection sort can also be used where the input array is not defined in code. Let us see how it works using the below program.
Code:
import java.util.*; public class SelectionSortExample { public static void main(String args[]) { int n, i, j, tempvar; Scanner <u>sc</u> = new Scanner(System.in); //To take the input from user System.out.print("Enter the size of array : \n"); n = sc.nextInt(); int array[] = new int[n]; //<u>initialising</u> the array System.out.print("Enter the elements that need to be inserted in the array : \n"); //inserting the elements to the array for(i=0; i<n; i++) { array[i] = sc.nextInt(); } System.out.print("array before Sorting: \n"+ Arrays.toString(array)); System.out.print("\nSorting begins here..\n"); for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { if(array[i] > array[j]) { tempvar = array[i]; array[i] = array[j]; array[j] = tempvar; } } } System.out.print("Array after Sorting is :\n"); for(i=0; i<n; i++) { System.out.print(array[i]+ " "); } } }
Sample Output:
Here, the input elements given by the user will be compared with the temporary variable and swapped. The process will be repeated until a sorted array is formed.
This sorting technique is used for its simplicity and certain other performance advantages over other more sorting techniques.
The selection sort does not work efficiently on large lists as it consumes more time for comparison. Selection sort is a method in which an input array will be divided into two subarrays in order to keep them sorted and unsorted elements. The minimum element in the array will be swapped with the element in the first position, and the process continues until a sorted array is formed.
Atas ialah kandungan terperinci Isih Pilihan Dalam Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!