Metode ini mengurutkan data dengan cara membandingkan suatu data lain yang memiliki jarak tertentu sehingga membentuk sebuah sub-list,kemudian dilakukan penukaran bila di perlukan
berikut contoh sources code dalam bahasa C
fungsi main
#include"stdio.h"; #include"stdlib.h"; #define max 10000 void input(); void tukar(int *, int *); void tampil(); void shelshort(); int data[max],hasil[max]; int n; int main() { input(); shelshort(); tampil(); }
fungsi input
void input() { int i; printf("Masukkan jumlah total elemen: "); scanf("%d",&n); puts(" "); for(i=0;i<n;i++) { data[i]=rand(); printf("%d\t",data[i]); //printf("Elemen ke-%d: ",i+1); //scanf("%d",&data[i]); } }
fungsi shellshort
void shelshort() { int swap,i,jarak; jarak=n; while(jarak>1) { jarak=jarak/2; swap=1; while(swap==1) { swap=0; for(i=0;i<n-jarak;i++) { if(data[i]>data[i+jarak]) { tukar(&data[i],&data[i+jarak]); swap=1; } } } } }
fungsi tampil
void tampil() { int j; puts("\n"); for(j=0;j<n;j++) {printf("%d\t",data[j]);} puts("\n"); }
Video penjelasan Shell Sorting
Posting Komentar