Cod sursa(job #2110302)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 20 ianuarie 2018 15:28:03
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

long long a[500010];
void heapify(int a[500010],int n,int t)
{
    int j,k;
    j=t;
    int heapify=0;
    while(j<=n && heapify==0)
    {
        k=2*j;
        if(k+1<=n && a[k]<a[k+1])
            k=k+1;
        if(a[j]<a[k] && k<=n)
        {
            swap(a[j],a[k]);
            j=k;
        }
        else
            heapify=1;
    }
}
int main()
{
    int n,i,j,m;
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    for(i=n/2;i>=1;i--)
        heapify(a,n,i);
    m=n;
    while(m>1)
    {
        swap(a[1],a[m]);
        m--;
        heapify(a,m,1);
    }
    for(i=1;i<=n;i++)
        g<<a[i]<<' ';
}