std::priority_queue<T,Container,Compare>::top
const_reference top() const; |
Возвращает ссылку на верхний элемент очереди с приоритетом. Этот элемент будет удалён при вызове pop(). Если используется функция сравнения по умолчанию, возвращённый элемент также является наибольшим среди элементов очереди.
Возвращаемое значение
Ссылка на верхний элемент, как если бы она была получена вызовом c.front().
Сложность
Константная.
Пример
#include <iostream>
#include <queue>
struct Event
{
int priority{};
char data{' '};
friend bool operator<(Event const& lhs, Event const& rhs)
{
return lhs.priority < rhs.priority;
}
friend std::ostream& operator<<(std::ostream& os, Event const& e)
{
return os << '{' << e.priority << ", '" << e.data << "'}";
}
};
int main()
{
std::priority_queue<Event> events;
std::cout << "Fill the events queue:\t";
for (auto const e : {Event{6,'L'}, {8,'I'}, {9,'S'}, {1,'T'}, {5,'E'}, {3,'N'}})
{
std::cout << e << ' ';
events.push(e);
}
std::cout << "\nProcess events:\t\t";
for (; !events.empty(); events.pop())
{
Event const& e = events.top();
std::cout << e << ' ';
}
std::cout << '\n';
}
Вывод:
Fill the events queue: {6, 'L'} {8, 'I'} {9, 'S'} {1, 'T'} {5, 'E'} {3, 'N'}
Process events: {9, 'S'} {8, 'I'} {6, 'L'} {5, 'E'} {3, 'N'} {1, 'T'}
См. также
| удаляет верхний элемент (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/priority_queue/top