#include <cstdio>
#include<cstdlib>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int arry[100];
int heapify(int i,int n)
{
int leargest;
int left=2*i+1;
int right=2*i+2;
if(left<n && arry[left]>arry[i])
leargest=left;
else
leargest=i;
if(right<n && arry[right]>arry[leargest])
leargest=right;
if(leargest!=i){
swap (arry[i],arry[leargest]);
heapify(leargest,n);
}
}
int main ()
{
int n,i;
cout << "No of Array index : ";
cin>>n;
int temp = n;
for(i=0; i<n; i++){
cin>> arry[i];
}
for(int i=(n/2); i>=0; i--){
heapify(i,n);
}
while(n>0){
swap(arry[0], arry[n-1]);
n--;
heapify(0, n);
}
for(i=0; i<temp; i++)
cout << arry[i] << " ";
cout << endl;
return 0;
}
No comments:
Post a Comment