#include<iostream.h>
#include<conio.h>
int
a[]={6,5,3,1,8,7,2,4};
int
n=sizeof(a)/sizeof(a[0]);
void heapify(int
k)
{
for(int i=1;i<=k;i++)
{
int val=a[i];
int pos=i;
int parpos=(i-1)/2;
while(parpos>=0 &&
val>a[parpos])
{
a[pos]=a[parpos];
a[parpos]=val;
pos=parpos;
parpos=(parpos-1)/2;
}
}
}
void heapsort()
{
for(int i=n-1;i>=0;i--)
{
heapify(i);
int temp=a[i];
a[i]=a[0];
a[0]=temp;
}
}
void display()
{
for(int i=0;i<n;i++)
cout<<" "<<a[i];
}
void main()
{
clrscr();
heapsort();
display();
getch();
}