Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
push_heap
template<class RanIt>
void push_heap(RanIt first, RanIt last);
template<class RanIt, class Pred>
void push_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 new heap ordered byoperator<. Iterators in the range [first, last - 1) must designate an existing heap, also ordered by operator<. Thus, first != last must be true and *(last - 1) is the element to add to (push on) the heap.
The function evaluates the ordering predicate X < Y``ceil(log(last - first)) times, at most.
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).