String Sort


#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void shell_sort(char *chars, int c)  {
 register int i, j, space, 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++) {
  space = a[k];
  for(i=space; i < c; ++i) {
   x = chars[i];
   for(j=i-space; (x < chars[j]) && (j >= 0); j=j-space)
    chars[j+space] = chars[j];
   chars[j+space] = x;
  }
 }
}
int main() {
 char string[300];
 printf("Enter a string:");
 gets(string);
 shell_sort(string, strlen(string));
 printf("The sorted string is: %s.\n", string);
 return 0;
}
 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close Menu