Pagini recente » Cod sursa (job #661476) | Cod sursa (job #2512967) | Cod sursa (job #1498139) | Cod sursa (job #1158104) | Cod sursa (job #687753)
Cod sursa(job #687753)
// ShellSort
#include <stdio.h>
FILE *f=fopen("algsort.in", "r"), *g=fopen("algsort.out", "w");
long a[500001], n;
void citeste(void)
{
fscanf(f, "%ld", &n);
for(long i=0;i<n;i++)
fscanf(f, "%ld", &a[i]);
fclose(f);
}
void shellsort ()
{
long h, i, j, k;
for (h = n; h /= 2;)
{
for (i = h; i < n; i++)
{
k = a[i];
for (j = i; j >= h && k < a[j - h]; j -= h)
a[j] = a[j - h];
a[j] = k;
}
}
}
void tipareste(void)
{
for(long i=0;i<n;i++)
fprintf(g, "%ld ", a[i]);
fclose(g);
}
int main()
{
citeste();
shellsort();
tipareste();
return 0;
}