Cod sursa(job #1526597)
| Utilizator | Data | 16 noiembrie 2015 21:49:22 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
void shellsort(int v[], int n)
{
int gap, i, j, temp;
for (gap = n/2; gap > 0; gap /= 2)
for (i = gap; i < n; i++)
for (j=i-gap; j>=0 && v[j]>v[j+gap]; j-=gap) {
temp = v[j];
v[j] = v[j+gap];
v[j+gap] = temp;
}
}
int main()
{
long long n, i;
int v[500010];
in>>n;
for( i=0; i<n; i++)
{
in>>v[i];
}
shellsort( v, n);
for( i=0; i<n; i++)
{
out<<v[i]<<' ';
}
return 0;
}
