Cod sursa(job #651872)

Utilizator loginLogin Iustin Anca login 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;
}