С++ для начинающих


Алгоритм push_heap()


template< class RandomAccessIterator >

void

push_heap( RandomAccessIterator first,

           RandomAccessIterator last );

template< class RandomAccessIterator, class Compare >

void

push_heap( RandomAccessIterator first,

           RandomAccessIterator last, Compare comp );

push_heap() предполагает, что последовательность, ограниченная диапазоном [first,last-1), – хип и что новый добавляемый к хипу элемент находится в позиции last-1. Все элементы в диапазоне [first,last) реорганизуются в новый хип. Перед вызовом push_heap() необходимо вставить новый элемент в конец контейнера, возможно, применив функцию push_back() (это показано в примере ниже). В первом варианте при сравнении используется оператор “меньше”, определенный для типа элементов контейнера; во втором – операция comp.



Содержание раздела