C/Data Structure Algorithm/Shell Sort — различия между версиями

Материал из C\C++ эксперт
Перейти к: навигация, поиск
м (1 версия: Импорт контента...)
 
м (1 версия: Импорт контента...)
 
(нет различий)

Текущая версия на 13:22, 25 мая 2010

The Shell Sort

<source lang="cpp">

  1. include <string.h>
  2. include <stdio.h>
  3. include <stdlib.h>

void shell(char *items, int count) {

 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 < 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]="asdfasdfasdfasdfasdf";
 shell(s, strlen(s));
 printf("The sorted string is: %s.\n", s);
 return 0;

}


      </source>