
{filelink=13671}
#include
#include
#include
void tri_shell(char *elements, int nombre_elements)
{
int i, j, gap, k;
char x, a[5];
a[0]=8; 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 < nombre_elements; ++i) {
x = elements[i];
for(j=i-gap; (x < elements[j]) && (j >= 0); j=j-gap){
elements[j+gap] = elements[j];
}
elements[j+gap] = x;
}
}
}
int main(void)
{
char s[255];
printf("Tapez une chaîne de caractère(MAX 255 carc.):");
gets(s);
tri_shell(s, strlen(s));
printf("Résultat du tri: %s.n", s);
return 0;
}