Pagini recente » Cod sursa (job #1920786) | Cod sursa (job #2050391) | Cod sursa (job #1643779) | Cod sursa (job #1488348) | Cod sursa (job #820792)
Cod sursa(job #820792)
//
//
#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()
{
inj=n;
k=1;
while(inj>1)
{
inj/=2*k;
do{
sw=0;
for(i=1;i<=n-inj;i++)
if(v[i]>v[i+inj])
{
aux=v[i];
v[i]=v[i+inj];
v[i+inj]=aux;
sw++;
}
}while(sw!=0);
}
}
int main()
{
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%ld ", &v[i]);
shell();
for(i=1;i<=n;i++)
fprintf(g,"%ld ", v[i]);
fclose(f);
fclose(g);
return 0;
}