Pagini recente » Cod sursa (job #1190569) | Cod sursa (job #1207014) | Cod sursa (job #488791) | Cod sursa (job #2770570) | Cod sursa (job #371362)
Cod sursa(job #371362)
#include <stdio.h>
#define N 500001
int sir[N];
int main ()
{freopen("algsort.in","r",stdin);
int i,n,j,h,t,k;
scanf("%d",&n);
for (i=0;i<n;i++)
{scanf("%d",&sir[i]);
}
freopen("algsort.out","w",stdout);
for (h=3;h<=n;h=h*2+1);
do
{h/=2;
for (i=h;i<n;i++)
{t=sir[i];
for(k=i;k>=h&&sir[k-h]>t;k-=h)
{sir[k]=sir[k-h];
}
sir[k]=t;
}
}
while(h!=1);
for (i=0;i<n;i++)
{printf("%d ",sir[i]);
}
return 0;
}