Cod sursa(job #701052)

Utilizator Kaara333Stircu Daniela Kaara333 Data 1 martie 2012 13:20:56
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;
long a[500001];
int main()
{
	ifstream f("algsort.in");
	ofstream g("algsort.out");
	int n,i,k,aux;
	f>>n;
	for(i=1; i<=n; i++)
		f>>a[i];
	k=n;
	for(i=k/2; i>0; i--)
	{
		if(a[i]<a[i*2+1] && k%2==1)
			{
				aux=a[i];
				a[i]=a[i*2+1];
				a[i*2+1]=aux;
			}
		else
			if(a[i]<a[i*2])
			{
				aux=a[i];
				a[i]=a[i*2];
				a[i*2]=aux;
			}
		if(i==1)
		{
			aux=a[i];
			a[i]=a[k];
			a[k]=aux;
			k--;
			i=k/2;
		}
	}
	for(i=1; i<=n; i++)
		g<<a[i]<<" ";
}