template<class RanIt>
void make_heap(RanIt first, RanIt last);
template<class RanIt, class Pred>
void make_heap(RanIt first, RanIt last, Pred pr);
The first template function reorders the sequence designated by iterators in the range [first, last)
to form a heap
ordered by operator<
.
The function evaluates the ordering predicate X < Y
at most 3 * (last - first)
times.
The second template function behaves the same, except that it replaces operator<(X, Y)
with pr(X, Y)
.
Sample programs: heap and heap (predicate version).