Pagini recente » Cod sursa (job #2049583) | Cod sursa (job #1547616) | Cod sursa (job #2795980) | Cod sursa (job #2958673) | Cod sursa (job #820807)
Cod sursa(job #820807)
//
//
#include<stdio.h>
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");
long v[500000],inj,i,n,aux,sw,k;
void shell()
{
int h[]={3,2,1},w,k,j;
for(w=0;w<3;w++)
{
k=h[w];
for(i=k;i<n;i=i+k)
{
j=i-k;
aux=v[i];
while(j>=0 && v[j]>aux)
{
v[j+k]=v[j];
j=j-k;
}
v[j+k]=aux;
}
}
}
int main()
{
fscanf(f,"%ld",&n);
for(i=0;i<n;i++)
fscanf(f,"%ld ", &v[i]);
shell();
for(i=0;i<n;i++)
fprintf(g,"%ld ", v[i]);
fclose(f);
fclose(g);
return 0;
}