Metode Shell Sorting dalam bahasa C

Metode Shell Sort disebut juga dengan metode pertambahan menurun(diminishing increment sort).Metode ini di kembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan metode shell sort.

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