Selection Sort merupakan algoritma pengurutan atau sorting yang sederhana namun mempunyai performa yang baik (One of the simplest sorting algorithms), algoritma ini sanggup disebut kombinasi antara searching dan sorting. Untuk melaksanakan sorting atau pengurutan secara ascending (menaik dari kecil ke besar), elemen (nilai) yang paling kecil di antara elemen yang belum urut, disimpan indeksnya, selanjutnya dilakukan pertukaran anatara nilai elemen dengan nilai indeks yang disimpan tersebut dengan nilai elemen yang paling depan (pertama). Sedangkan untuk sorting descending (menurun dari besar ke kecil), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.
Selection Sort disukai lantaran kesederhanaan algoritmanya dan performanya yang lebih manis dari beberapa algoritma lain yang lebih rumit. Algoritma ini sanggup di ilustrasikan bekerja menyerupai dibawah ini:
- Pertama cari data terkecil (data dengan nilai terkecil) dari semua data. kemudian ditukar nilainya dengan data pertama.
- Kemudian cari data terkecil dari data kedua hingga data yang terakhir, kemudian ditukar nilainya dengan data kedua (data terkecil kedua ditukan posisinya dengan data kedua).
- Kemudian cari data terkecil dari data ketiga hingga data terakhir, kemudian tukar nilainya dengan data yang ketiga.
- Begitu seterusnya hingga semua data menjadi terurut. Apabila ada N buah data yang akan kita diurutkan, maka kita butuh N-1 langkah pengurutan, dengan data yang terakhir, adalah data ke N tidak perlu diurutkan lantaran nilainya sudah niscaya yang terkecil.
Contoh Program Selection Sort dalam Bahasa C
![]() |
Contoh Program Selection Sort Bahasa C |
#include "stdio.h"
int main()
{
int L[20],temp,i,j,n=6;
printf("pengurutan menurut Selection sort \nmasukkan %d elements: \n",n);
for(i=0;i<n;i++){
scanf("%d",&L[i]);}
printf("\nsebelum sorting: ");
for(i=0;i<n;i++){printf("%d ",L[i]);}
for(i=0;i<(n-1);i++){
/*5 3 2 4 ===> 3 5 2 4, 2 5 3 4, 2 5 3 4 // 2 3 5 4, 2 3 5 4 // 2 3 4 5*/
for(j= i+1;j<n;j++){
if(L[i]>L[j]){
temp=L[i];
L[i]=L[j];
L[j]=temp;
}
}
}
printf("\nsetelah sorting: ");
for(i=0;i<n;i++){printf("%d ",L[i]);}
printf("\n");
}
Contoh gambaran jalannya Selection Sort
dimisalkan kita mempunyai array sebagai berikut: {5, 1, 12, -5, 16, 2, 12, 14}, kemudian akan diurutkan secara Ascending. berikut ilustrasinya:![]() |
Ilustrasi Selection Sort |
Sekian Artikel ihwal Contoh Program Selection Sort Bahasa C, agar artikel diatas sanggup bermanfaat bagi teman MARKIJAR, seandaiknya teman ingin mempelajari banyak sekali teladan agenda dengan bahasa C, Silakan Klik Kumpulan Contoh Program dengan Bahasa C
Contoh Program Selection Sort Bahasa C
MARKIJAR : MARi KIta belaJAR
Sumber http://www.markijar.com/