loading...
Pengurutan Selection Sort bahasa C
Setelah sebelumnya membahas tentang Bubble Sort selanjutnya adalah Selection Sort berikut ini.
Pengurutan (Selection)
Metode ini memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya. Perhatikan ilustrasi berikut :
Misalkan ada sekumpulan data acak berjumlah n elemen yang disimpan di dalam larik L, akan diurut menaik, maka langkah-langkah yang harus dilakukan adalah :
1. Menentukan jumlah iterasi, yaitu pass = n-2
2. Untuk setiap pass ke-I = 0,1,2, … , pass, lakukan
a. Cari elemen terbesar (maks) dari elemen ke-i sampai ke-(n-1)
b. Pertukaran maks dengan elemen ke-i
c. Kurangin n sayu (n = n -1)
Rincian tiap-tiap pas adalah sebagai berikut :
- pass 0
Cari elemen maksimum di dalam L[0 … (n-1)].
Pertukarkan elemen maksimum dengan elemen L[n-1]
- pass 1
Cari elemen maksimum di dalam L[0 .. (n-2)]
Pertukarkan elemen maksimum dengan elemen L[n-2]
- pass 2
Cari elemen maksimum di dalam L[0 .. (n-3)]
Pertukarkan elemen maksimum dengan elemen L[n-3]
- pass 3
Cari elemen maksimum di dalam L[0 .. 1]
Pertukarkan elemen maksimum dengan elemen L[1]
Contoh Selection Sort
output
Setelah sebelumnya membahas tentang Bubble Sort selanjutnya adalah Selection Sort berikut ini.
Pengurutan (Selection)
Metode ini memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya. Perhatikan ilustrasi berikut :
Misalkan ada sekumpulan data acak berjumlah n elemen yang disimpan di dalam larik L, akan diurut menaik, maka langkah-langkah yang harus dilakukan adalah :
1. Menentukan jumlah iterasi, yaitu pass = n-2
2. Untuk setiap pass ke-I = 0,1,2, … , pass, lakukan
a. Cari elemen terbesar (maks) dari elemen ke-i sampai ke-(n-1)
b. Pertukaran maks dengan elemen ke-i
c. Kurangin n sayu (n = n -1)
Rincian tiap-tiap pas adalah sebagai berikut :
- pass 0
Cari elemen maksimum di dalam L[0 … (n-1)].
Pertukarkan elemen maksimum dengan elemen L[n-1]
- pass 1
Cari elemen maksimum di dalam L[0 .. (n-2)]
Pertukarkan elemen maksimum dengan elemen L[n-2]
- pass 2
Cari elemen maksimum di dalam L[0 .. (n-3)]
Pertukarkan elemen maksimum dengan elemen L[n-3]
- pass 3
Cari elemen maksimum di dalam L[0 .. 1]
Pertukarkan elemen maksimum dengan elemen L[1]
Contoh Selection Sort
#include <stdio.h> #define N 20 int a,b,S[N]; void selectionsort(int n) { int temp; for (a=1;a<=n-1;a++) { for (b=a;b<n;b++) { if (S[a-1] <=S[b]) { temp = S[a-1]; S[a-1] = S[b]; S[b] = temp; } } } } int main() { int jml; printf("SELECTION SORT \n\n"); printf("Enter size of Array = "); scanf("%d", &jml); printf("\n"); // input data for (a=0;a<jml;a++) { printf("Bilangan ke %d : ",a+1); scanf("%d",&S[a]); } printf("\n"); printf("Array Sebelum disorting : \n"); for(a=0;a<jml;a++) { printf("%d ",S[a]); } printf("\n"); // mengurutkan data selectionsort(jml); // menampilkan data printf("After Sorting : \n"); for (a=0;a<jml;a++) { printf("%d ",S[a]); } return 0; }
output
Itulah yang dapat saya sampaikan tentang Pengurutan Selection Sort bahasa C jika ada pertanyaan sampaikan dikolom komentar.Semoga dapat membantu dan bermanfaat.
ConversionConversion EmoticonEmoticon