На этом шаге мы перечислим другие операции, используемые в классе priority_queue.
При создании приоритетных очередей возможно также использовать следующие операции:
size_type приоритетная_очередь::size () const
Возвращает текущее количество элементов. Для проверки отсутствия элементов в приоритетной очереди рекомендуется использовать функцию
empty(), поскольку она может работать быстрее.
bool приоритетная_очередь::empty () const
Проверяет, пуста ли приоритетная очередь. Эквивалент (но может работать быстрее):
приоритетная_очередь::size()==0
void приоритетная_очередь::push (const value_type& elem)
Вставляет копию elem в приоритетную очередь.
const value_type& приоритетная_очередь::top () const
Возвращает следующий элемент приоритетной очереди (то есть элемент с наибольшим значением среди всех элементов очереди). Если
приоритетная очередь содержит сразу несколько элементов с таким значением, критерий выбора определяется реализацией.
Перед вызовом необходимо убедиться в том, что приоритетная очередь содержит хотя бы один элемент (size()>0), иначе вызов
приводит к непредсказуемым последствиям.
void приоритетная_очередь::рор ()
Удаляет из приоритетной очереди следующий элемент (то есть элемент с наибольшим значением среди всех элементов очереди). Если
приоритетная очередь содержит сразу несколько элементов с таким значением, критерий выбора определяется реализацией.
Функция не имеет возвращаемого значения. Чтобы обработать значение следующего элемента, следует предварительно вызвать функцию top().
Перед вызовом необходимо убедиться в том, что приоритетная очередь содержит хотя бы один элемент (size()>0), иначе вызов приводит к непредсказуемым последствиям.
Со следующего шага мы начнем знакомиться с битовыми полями.