push_heap
Adds an element to a heap
You're viewing an older version of this page (#4181). View the current version.
Definition
The push_heap() algorithm is defined in the standard header <algorithm> and in the nonstandard backward-compatibility header <algo.h>.
Interface
#include <algorithm>
template < class RandomAccessIterator >
void push_heap(
RandomAccessIterator first,
RandomAccessIterator last
);
template < class RandomAccessIterator, class BinaryPredicate >
void push_heap(
RandomAccessIterator first,
RandomAccessIterator last,
BinaryPredicate comp
);Parameters:
| Parameter | Description |
| first | A random-access iterator addressing the position of the first element in the heap |
| last | A random-access iterator addressing the position one past the final element in the range to be converted into a heap |
| comp | User-defined predicate function object that defines sense in which one element is less than another. A binary predicate takes two arguments and returns true when satisfied and false when not satisfied |
Description
Push_heap inserts the element at the position last - 1 into the heap defined by the range [first, last-1).
The first version compares objects using operator< and the second compares objects using a function object comp.
Return Value
None.
Complexity
The complexity is linear; performs at most log(last - first) comparisons.
References
See Also
- http://www.codecogs.com/reference/computing/stl/algorithms/heap/make_heap.php"make_heap"
- http://http://www.codecogs.com/reference/computing/stl/algorithms/heap/is_heap.php"is_heap"
- http://www.codecogs.com/reference/computing/stl/algorithms/heap/pop_heap.php"pop_heap"
- http://www.codecogs.com/reference/computing/stl/algorithms/heap/sort_heap.php"sort_heap"