Pagini recente » Cod sursa (job #578071) | Cod sursa (job #1391818) | Cod sursa (job #462979) | Cod sursa (job #902714) | Cod sursa (job #559989)
Cod sursa(job #559989)
#include <stdio.h>
#define LIM 500005
FILE *f=fopen("algsort.in", "r"), *g=fopen("algsort.out", "w");
long long v[LIM], sw, n, i;
void shell()
{
long inj;
inj=n;
do
{
inj/=2;
sw=0;
for (i=1;i<=n-inj;i++)
if (v[i]>v[i+inj])
{
sw=1;
v[i]=v[i]^v[i+inj];
v[i+inj]=v[i]^v[i+inj];
v[i]=v[i]^v[i+inj];
}
}while(sw);
}
void tipareste()
{
for (i=1;i<=n;i++)
fprintf(g, "%lld ", v[i]);
}
int main()
{
fscanf(f, "%lld", &n);
for (i=1;i<=n;i++)
fscanf(f, "%lld", &v[i]);
shell();
tipareste();
fclose(f);
fclose(g);
return 0;
}