#include<stdio.h>
int main()
{
    void shsort(int a[],int n);
    int i=0;
    int a[11]={0,23,4,56,43,33,88,90,56,45,66};
    shsort(a,10);
    for(i=1;i<=10;i++)
       printf("%d ",a[i]);
    return 0;
}

void shsort(int a[],int n)
{
   int d,i,j;
   d=n/2;
   while(d>=1)
   {
      for(i=d+1;i<=n;i++)
      {
         a[0]=a[i];
         j=i-d;
         while((j>0)&&(a[0]<a[j]))
         {
            a[j+d]=a[j];
            j-=d;
         }
         a[j+d]=a[0];
      }
      d/=2;
   }
}