Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
priority_queue
— адаптер контейнера из стандартной библиотеки C++, который предоставляет функциональность очереди с приоритетами. Элементы извлекаются в порядке их приоритета (по умолчанию, наибольший элемент имеет наивысший приоритет). По сути, это обертка над другим контейнером (по умолчанию std::vector
), которая использует алгоритмы кучи (std::make_heap
, std::push_heap
, std::pop_heap
) для поддержания структуры кучи внутри базового контейнера.
Ключевые особенности:
std::less
для определения приоритета, что означает наибольший элемент считается имеющим наивысший приоритет (макс-куча). Можно изменить порядок, предоставив другой компаратор, например, std::greater
для мин-кучи.priority_queue
не является самостоятельным контейнером, а адаптирует другой базовый контейнер (обычно std::vector
, но может быть и другой, например std::deque
), предоставляя интерфейс очереди с приоритетами.push
), извлечения элемента с наивысшим приоритетом (pop
) и просмотра элемента с наивысшим приоритетом (top
).Основные операции:
Операция | Описание | Сложность (в среднем/худшем случае) |
---|
priority_queue
— адаптер контейнера из стандартной библиотеки C++, который предоставляет функциональность очереди с приоритетами. Элементы извлекаются в порядке их приоритета (по умолчанию, наибольший элемент имеет наивысший приоритет). По сути, это обертка над другим контейнером (по умолчанию std::vector
), которая использует алгоритмы кучи (std::make_heap
, std::push_heap
, std::pop_heap
) для поддержания структуры кучи внутри базового контейнера.
Ключевые особенности:
std::less
для определения приоритета, что означает наибольший элемент считается имеющим наивысший приоритет (макс-куча). Можно изменить порядок, предоставив другой компаратор, например, std::greater
для мин-кучи.priority_queue
не является самостоятельным контейнером, а адаптирует другой базовый контейнер (обычно std::vector
, но может быть и другой, например std::deque
), предоставляя интерфейс очереди с приоритетами.push
), извлечения элемента с наивысшим приоритетом (pop
) и просмотра элемента с наивысшим приоритетом (top
).Основные операции:
Операция | Описание | Сложность (в среднем/худшем случае) |
---|
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.