Get free ebooK with 50 must do coding Question for Product Based Companies solved
Fill the details & get ebook over email
Thank You!
We have sent the Ebook on 50 Must Do Coding Questions for Product Based Companies Solved over your email. All the best!

# make_heap() in C++ STL

Last Updated on December 14, 2022 by Prepbytes

### make_heap():

• make_heap() function is used to transform a sequence into a heap.
• Heap is a data structure in which we can place elements accordingly, and make them accessible in O(1) time.
• make_heap() is defined in the algorithm header file.
• We have two types of implementation of make_heap().

1. make_heap(first_iterator, last_iterator)

In the above syntax, the first iterator is the pointer where we have to start the sequence of elements to transform them into a heap.
In the last iterator, we stored a pointer to the next address to the last element of the sequence that has to be transformed into a heap.

```#include
#include // for heap
#include
using namespace std;

int main()
{
// initializing vector;
vector vi = { 4, 6, 7, 9, 11, 4 };

// using make_heap() to transform vector into
// a max heap
make_heap(vi.begin(),vi.end());

//checking if heap using
// front() function
cout << "The maximum element of the heap is: ";
cout << vi.front() << endl;

}

```

OUTPUT:
The maximum element of the heap is: 11

2. make_heap(first_iterator, last_iterator, comp)
In the above syntax, the first iterator is the pointer where we have to start the sequence of elements to transform them into a heap.
In the last iterator, we stored a pointer to the next address to the last element of the sequence that has to be transformed into the heap.
The comparator(comp) function returns a boolean value i.e. true or false of each element compared. Comp function will accept two arguments.

```#include
#include // for heap
#include
using namespace std;

// comparator function to make min heap
struct greaters{
bool operator()(const long& a,const long& b) const{
return a>b;
}
};

int main()
{
// initializing vector;
vector vi = { 15, 6, 7, 9, 11, 45 };

// using make_heap() to transform vector into
// a min heap
make_heap(vi.begin(),vi.end(), greaters());

// checking if heap using
// front() function
cout << "The minimum element of the heap is: ";
cout << vi.front() << endl;

}

```

OUTPUT:
The minimum element of the heap is: 6

This article tried to discuss the concept of make_heap() in C++ STL. Hope this blog helps you understand the concept. To practice problems on Heap you can check out MYCODE | Competitive Programming – Heaps.