Pagini recente » Profil liviuu | Cod sursa (job #160882) | Cod sursa (job #1038159) | Cod sursa (job #1434073) | Cod sursa (job #1583170)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500000],n,i,k;
int schimbare(int a , int b)
{
int x;
x=a;
a=b;
b=x;
}
int stanga(int i)
{
int j=i/2;
while(v[i]<v[j])
{
swap(v[i],v[j]);
i=j;
j=j/2;
}
}
int dreapta(int i)
{
int j=i*2+1;
if(v[j]>v[j+1]) j++;
while(v[i]>v[j] && j<n)
{
swap(v[i],v[j]);
i=j;
j=j*2+1;
if(v[j]>v[j+1]) j++;
}
}
int main()
{
fin>>n;
fin>>v[0];
for(i=1;i<n;i++)
{
fin>>v[i];
stanga(i);
}
int m=n;
for(i=1;i<=m;i++)
{
fout<<v[0];
v[0]=v[n-1];
n--;
dreapta(0);
}
}