Pagini recente » Cod sursa (job #3237614) | Cod sursa (job #3254948) | Cod sursa (job #1733596) | Cod sursa (job #544232) | Cod sursa (job #1385094)
#include <fstream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n,i,v[500010],cn;
ofstream g ("algsort.out");
void hip(int i){
int fs,fd;
for(i=1;i<=n/2;i++){
if(i*2<=n)fs=v[i*2];
else fs=0;
if(i*2+1<=n)fd=v[i*2+1];
else fd=0;
if(v[i]<fs)swap(v[i],v[i*2]);
if(v[i]<fd)swap(v[i],v[i*2+1]);}}
int main(){
freopen("algsort.in","r",stdin);
scanf("%d",&n);
cn=n;
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
for(i=1;i<=n/2;i++)
hip(i);
while (n) {
swap(v[1],v[n]);
n--;
hip (i);
}
for(i=1;i<=cn;i++)
g<<v[i]<<" ";
return 0;}