Metode Selection Sort
pada dasarnya merupakan kombinasi antara sorting dan searching. Metode
ini merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah
perbandingan. Didalam prosesnya, selection sort mencari nilai data
terbesar atau terkecil dan kemudian menempatkannya pada posisi yang
sebenarnya dimulai dari data diposisi 0 hingga data diposisi N-1. Selama
proses,pembandingan dan pengubahanhanya dilakukanpada indeks pembanding
saja, pertukaran data secara fisik hanya terjadi pada akhir proses.
Kekurangan dan kelebihan daripada Metode Selection Sort adalah sebagai berikut:
- Kompleksitas selection sort relatif lebih kecil
- Mudah menggabungkannya kembali tetapi sulit membagi masalah
- Membutuhkan method tambahan.
untuk lebih jelasnya mari sobat ketikkan listing dibawah ini.
#include
<stdio.h>
#include
<stdlib.h>
#define
MAX 11
int
Data[MAX];
//
Fungsi pertukaran bilangan
void
Tukar (int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
//
Fungsi pengurutan metode seleksi
void
SelectionSort()
{
int i, j, k;
for(i=1; i<MAX-1;i++){
k = i;
for (j=i+1; j<MAX;
j++)
if(Data[k] > Data[j])
k = j;
Tukar(&Data[i],
&Data[k]);
}
}
int
main()
{
int i;
srand(6);
// Membangkitkan bilangan acak
printf("DATA SEBELUM
TERURUT");
for(i=1; i<MAX; i++){
Data[i] = rand()/1000+1;
printf("\nData ke
%d : %d ", i, Data[i]);
}
SelectionSort();
// Data setelah terurut
printf("\n\nDATA SETELAH
TERURUT");
for(i=1; i<MAX; i++){
printf("\nData ke
%d : %d ", i, Data[i]);
}
//scanf("%d");
return(0);
}
setelah sobat mengcopy listing diatas coba sobat jalankan dan hasilnya seperti pada gambar dibawah ini :
:)
selesai sudah program Selection Sort kita ini..
Selamat berjuang dan belajar dan terus belajar.
:)
selesai sudah program Selection Sort kita ini..
Selamat berjuang dan belajar dan terus belajar.
baru belajar yang beginian ane...
ReplyDeleteArtikelnya bermanfaat kak, ini saya juga punya artikel tentang selection sort, semoga dapat saling melengkapi
ReplyDeleteSelection Sort dalam Bahasa C (Materi + Koding)