Pagini recente » Cod sursa (job #823772) | Cod sursa (job #1830307) | Cod sursa (job #3130273) | Cod sursa (job #1515698) | Cod sursa (job #256791)
Cod sursa(job #256791)
#include <stdio.h>
#define fin "algsort.in"
#define fout "algsort.out"
#define dim 500001
int v[dim], N;
void shell();
int main(void)
{
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d", &N);
for (register int i = 1; i <= N; i++)
scanf("%d", v+i);
shell();
for(register int i = 1; i <= N ;i++)
printf("%d ", v[i]);
printf("\n");
fcloseall();
return 0;
}
void shell(void)
{
int inj, gata, aux;
inj = N;
while(inj > 1)
{
inj /= 2;
do
{
gata = 1;
for(register int i = 1; i <= N-inj; i++)
if( v[i] > v[i+inj])
{
aux = v[i];
v[i] = v[i+inj];
v[i+inj] = aux;
gata = 0;
}
}while(!gata);
}
}