|
| | Heap (size_t size, T def={}, P pred={}) |
| | constructs heap for given number of elements, assigning given default value to each element
|
| |
| | Heap (std::vector< Element > elms, P pred={}) |
| | constructs heap from given elements (id's shall not repeat and have spaces, but can be arbitrary shuffled)
|
| |
| size_t | size () const |
| | returns the size of the heap
|
| |
| void | resize (size_t size, T def={}) |
| | increases the size of the heap by adding elements at the end
|
| |
| const T & | value (I elemId) const |
| | returns the value associated with given element
|
| |
| const Element & | top () const |
| | returns the element with the largest value
|
| |
| void | setValue (I elemId, const T &newVal) |
| | sets new value to given element
|
| |
| void | setLargerValue (I elemId, const T &newVal) |
| | sets new value to given element, which shall be larger/smaller than the current value
|
| |
| void | setSmallerValue (I elemId, const T &newVal) |
| |
| template<typename U > |
| void | increaseValue (I elemId, const U &inc) |
| |
| Element | setTopValue (const T &newVal) |
| | sets new value to the current top element, returning its previous value
|
| |
template<typename T, typename
I, typename P>
class MR::Heap< T, I, P >
stores map from element id in[0, size) to T;
provides two operations: 1) change the value of any element; 2) find the element with the largest value