Pagini recente » Cod sursa (job #2253124) | Cod sursa (job #1435436) | Cod sursa (job #2348649) | Cod sursa (job #2659888) | Cod sursa (job #560005)
Cod sursa(job #560005)
#include <stdio.h>
#define LIM 500005
FILE *f=fopen("algsort.in", "r"), *g=fopen("algsort.out", "w");
long long v[LIM], sw, n, i, aux;
inline void swap(long long &a, long long &b)
{
long long aux;
aux=a;
a=b;
b=aux;
}
void shell()
{
long inj;
inj=n;
while(inj>1)
{
inj/=2;
do
{
sw=0;
for (i=1;i<=n-inj;i++)
if (v[i]>v[i+inj])
{
sw=1;
swap(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;
}