Cod sursa(job #962055)

Utilizator morgeMihailescu Georgiana morge Data 13 iunie 2013 18:36:28
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int main()
{	int n,v[500001],i,aux,c,p,m;
    f>>n;
    for(i=1;i<=n;i++) f>>v[i];
    c = i;
	p = i/2;
	while (p!=0 && v[c]>v[p]) 
		{aux = v[c];
		v[c] = v[p];
		v[p] = aux;
		c = p;
		p = p/2;}
    for (i=1,m=n;i<=n;i++) 
        {aux = v[m];
        v[m] = v[1];
        v[1] = aux;
        m--;
        p = 1;
        c = 2*p;}
        while (c <= m) 
            {
				if (c+1 <= m && v[c+1] > v[c])
                c++;
            if (v[p] < v[c]) 
                {aux = v[p];
                v[p] = v[c];
                v[c] = aux;}
            p = c;
            c = c*2;
			}
   for(i=1;i<=n;i++) g<<v[i]<<" ";
g.close (); return 0;
}