Shell Sort

From CodeCodex

Revision as of 02:24, 25 June 2008 by Suvo (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

How to shell sort using C Language

<highlightsyntax = Language = " C ">

  1. include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
 void shell(char *items, int count)
 {
   register int i, j, gap, k;
   char x, a[5];
   a[0]=9; a[1]=5; a[2]=3; a[3]=2; a[4]=1;
   for(k=0; k < 5; k++) {
     gap = a[k];
     for(i=gap; i < count; ++i) {
       x = items[i];
       for(j=i-gap; (x < items[j]) && (j >= 0); j=j-gap)
         items[j+gap] = items[j];
       items[j+gap] = x;
     }
   }
 }
 int main(void)
 {
   char s[255];
   printf("Enter a string:");
   gets(s);
   shell(s, strlen(s));
   printf("The sorted string is: %s.\n", s);
   return 0;
 }

</highlightsyntax>