- <
boolempty(void)const;
>Эффекты:Возвращается истинно, если очередь приоритета не содержит элементов.
Сложность:Постоянство.
- <
size_typesize(void)const;
>Эффекты:Возвращает количество элементов, содержащихся в очереди приоритетов.
Сложность:Постоянная, если конфигурирована с константой_time_size, иначе линейная.
size_typemax_size(void)const;
Эффекты:Возвращает максимальное количество элементов, которые может содержать очередь приоритета.
Сложность:Постоянство.
- <
voidclear(void);
>Эффекты:Удалите все элементы из очереди приоритетов.
Сложность:Линейная.
- <
allocator_typeget_allocator(void)const;
>Эффекты:Возвращает распределитель.
Сложность:Постоянство.
voidswap(binomial_heap&rhs);
Эффекты:Замена двух приоритетных очередей.
Сложность:Постоянство.
const_referencetop(void)const;
Эффекты:Возвращает ссылку на максимальный элемент.
Сложность:Постоянство.
handle_typepush(value_typeconst&v);
Эффекты:Добавляет новый элемент в очередь приоритетов. Возвращает ручку к элементу
Сложность:Логарифмическая.
template<class...Args>handle_typeemplace(Args&&...args);
Эффекты:Добавляет новый элемент в очередь приоритетов. Элемент непосредственно построен на месте. Возвращает ручку к элементу.
Сложность:Логарифмический.
voidpop(void);
Эффекты:Удаляет верхний элемент из очереди приоритетов.
Сложность:Логарифмическая.
voidupdate(handle_typehandle,const_referencev);
Эффекты:Назначаетv
элемент, обрабатываемыйhandle
& обновляет очередь приоритета.
Сложность:Логарифмический.
voidupdate(handle_typehandle);
Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle
, был изменен.
Сложность:Логарифмический.
Примечание:Если это не называется, после обновления ручки поведение структуры данных не определено!
voidincrease(handle_typehandle,const_referencev);
Эффекты:Назначаетv
элемент, обрабатываемыйhandle
& обновляет очередь приоритетов.
Сложность:Логарифмический.
Примечание:Ожидается, что новое значение будет больше текущего
.voidincrease(handle_typehandle);
Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle
, был изменен.
Сложность:Логарифмическая.
Примечание:Если это не называется, после обновления ручки поведение структуры данных не определено!
- <
voiddecrease(handle_typehandle,const_referencev);
>Эффекты:Назначает<v
>элемент, обрабатываемый<handle
>& обновляет очередь приоритета.
Сложность:Логарифмический.
Примечание:Ожидается, что новое значение будет меньше текущего
. voiddecrease(handle_typehandle);
Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle
, был изменен.
Сложность:Логарифмическая.
Примечание:Ожидается, что новая стоимость будет меньше текущей. Если это не называется, после обновления ручки поведение структуры данных не определено!
- <
voidmerge(binomial_heap&rhs);
>Эффекты:Слияние с очередями приоритетов
Сложность:Логарифмический.
iteratorbegin(void)const;
Эффекты:Возвращает итератор к первому элементу, содержащемуся в очереди приоритета.
Сложность:Постоянство.
iteratorend(void)const;
Эффекты:Возвращает итератор в конец очереди приоритетов.
Сложность:Постоянство.
ordered_iteratorordered_begin(void)const;
Эффекты:Возвращает заказанный итератор к первому элементу, содержащемуся в очереди приоритета.
Примечание:Заказанные итераторы проходят приоритетную очередь в кучном порядке.
- <
ordered_iteratorordered_end(void)const;
>Эффекты:Возвращает заказанный итератор в конец очереди приоритетов.
Примечание:Заказанные итераторы проходят приоритетную очередь в кучном порядке.
- <
voiderase(handle_typehandle);
>Эффекты:Удалите элемент, обработанный<handle
>из<priority_queue
>
. Сложность:Логарифмический.
value_compareconst&value_comp(void)const;
Эффект:Возвращает значение_сравните объект, используемый в очереди приоритетов
- <
template<typenameHeapType>booloperator<(HeapTypeconst&rhs)const;
>Возвращение:Элементное сравнение кучных структур данных
Требование:<value_compare
>объект обеих груд должен совпадать.
- <
template<typenameHeapType>booloperator>(HeapTypeconst&rhs)const;
>Возврат:Элементное сравнение кучных структур данных
Требование:<value_compare
>объект обеих кучи должен совпадать.
template<typenameHeapType>booloperator>=(HeapTypeconst&rhs)const;
Возвращение:Элементное сравнение кучных структур данных
Требование:value_compare
объект обеих груд должен совпадать.
- <
template<typenameHeapType>booloperator<=(HeapTypeconst&rhs)const;
>Возвращение:Элементное сравнение кучных структур данных
Требование:<value_compare
>объект обеих груд должен совпадать.
template<typenameHeapType>booloperator==(HeapTypeconst&rhs)const;
Эквивалентное сравнениеВозврат:Правда, если обе кучи структур данных эквивалентны.Требование:value_compare
объект обеих куч должен совпадать.
- <
template<typenameHeapType>booloperator!=(HeapTypeconst&rhs)const;
>Эквивалентное сравнениеВозвращение:Правда, если обе кучи структур данных не эквивалентны.Требование:<value_compare
>объект обеих кучи должен совпадать.