Pagini recente » Cod sursa (job #2355866) | Cod sursa (job #1962090) | Cod sursa (job #1920725) | Cod sursa (job #2832960) | Cod sursa (job #962055)
Cod sursa(job #962055)
#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;
}