## C++ Program to Implement Max Heap

This C++ program, displays the maximum heap in which each node of a binary tree is greater than or equal to it’s child nodes. Here is the source code of the C++ program which takes the values of array as input and returns the elements as they are structured in the maximum heap model. This C++ program is successfully compiled and run on DevCpp, a C++ compiler. The program output is also shown below. ``/** C++ Program to Implement Max Heap */#include <iostream>#include <conio.h>using namespace std;void max_heapify(int *a, int i, int n){    int j, temp;    temp = a[i];    j = 2 * i;    while (j <= n)    {        if (j < n && a[j+1] > a[j])            j = j + 1;        if (temp > a[j])            break;        else if (temp <= a[j])        {            a[j / 2] = a[j];            j = 2 * j;        }    }    a[j/2] = temp;    return;}void build_maxheap(int *a,int n){    int i;    for(i = n/2; i >= 1; i--)    {        max_heapify(a,i,n);    }}int main(){    int n, i, x;    cout<<"enter no of elements of arrayn";    cin>>n;    int a;    for (i = 1; i <= n; i++)    {        cout<<"enter element"<<(i)<<endl;        cin>>a[i];    }    build_maxheap(a,n);    cout<<"Max Heapn";    for (i = 1; i <= n; i++)    {        cout<<a[i]<<endl;    }    getch();}``

Output
enter no of elements of array
7
enter element1
5
enter element2
9
enter element3
6
enter element4
7
enter element5
1
enter element6
3
enter element7
8
Max Heap
9
7
8
5
1
3
6