Mai intai trebuie sa te autentifici.
Cod sursa(job #651872)
| Utilizator | Data | 21 decembrie 2011 22:37:06 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
# include <fstream>
# define DIM 500003
using namespace std;
int v[DIM], n;
void read ()
{
ifstream fin ("algsort.in");
fin>>n;
for(int i=1;i<=n;++i)
fin>>v[i];
}
void comb ()
{
int gap=n, sorted=0;
while (gap>1 || !sorted)
{
sorted=1;
if (gap>1)gap/=1.3;
for(int i=1;i+gap<=n;++i)
if (v[i]>v[i+gap])
{
int aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
sorted=0;
}
}
}
int main ()
{
read ();
comb ();
freopen("algsort.out", "w", stdout);
for(int i=1;i<=n;++i)
printf("%d ", v[i]);
return 0;
}
