Pengurutan Pilihan adalah algoritma pengurutan yang sederhana dan intuitif. Prinsip algoritmanya adalah pertama-tama menemukan elemen terkecil (terbesar) dalam urutan yang tidak diurutkan, menyimpannya di posisi awal dari urutan yang diurutkan, dan kemudian memilihnya dari elemen yang belum diurutkan yang tersisa untuk mencari elemen terkecil (terbesar) di antara elemen-elemen dan menyimpannya di akhir urutan yang diurutkan, dan seterusnya hingga semua elemen terurut.
Ada total "jumlah array - 1" putaran penyortiran seleksi, dan setiap putaran penyortiran adalah sebuah siklus.
1) Pertama-tama asumsikan bahwa bilangan pertama pada siklus saat ini adalah bilangan terkecil.
2) Kemudian bandingkan dengan setiap bilangan berikutnya. Jika ternyata ada bilangan yang lebih kecil dari bilangan sekarang, tentukan kembali bilangan minimumnya dan dapatkan subskripnya.
3) Saat melintasi ke akhir larik, diperoleh angka terkecil dari putaran ini.
4) Tukarkan dengan nomor pertama dari loop saat ini.
Misalnya:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[]args){int[]arr=newint[]{19,26,8,35,41,77};for(inti=0;i<arr.length- 1;i++){//Setiap loop akan menemukan angka terkecil intminIndex=i;//Rekam subskrip dari angka terkecil intminNum=arr[i];//Rekam angka terkecil for(intj=i+1;j< arr.length;j++){//Setiap loop akan menemukan angka terkecil if(arr[j]<minNum){//Jika angka saat ini lebih kecil dari angka minimum, perbarui angka minimum minNum=arr[j]; / /Perbarui angka minimum minIndex=j;//Perbarui subskrip dari angka minimum}} arr[minIndex]=arr[i];//Masukkan angka minimum ke depan arr[i]=minNum;//Masukkan bit bendera ke posisi awal angka minimum}for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}}
Hasil yang berjalan adalah sebagai berikut:
81926354177