Mai intai trebuie sa te autentifici.
Cod sursa(job #1083277)
Utilizator | Data | 15 ianuarie 2014 20:08:41 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include<ifstream>
using namespace std;
int a[1000],n;
void m_heap(int n)
{
int k,x,j,i;
for(i=2;i<=n;i++)
if(a[i])
{
k=i;
x=a[k];
j=k/2;
while(k>1 && x>a[j])
{
a[k]=a[j];
k=j;
j=k/2;
if(j<1) j=1;
}
a[k]=x;
}
}
int main()
{
int i,e;
ifstream f( "algsort.in" );
ofstream g( "algsort.out" );
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
}
m_heap(n);
for(e=n;e>=1;e--)
{
a[e]=a[1]+a[e]-(a[1]=a[e]);
if(e)
m_heap(e-1);
}
for(i=1;i<=n;i++)
g<<a[i]<<' ';
return 0;
}