std::priority_queue<T,Container,Compare>::pop
De cppreference.com
void pop(); |
||
Desencola el elemento superior de la cola de prioridad. Efectivamente llama a std::pop_heap(c.begin(), c.end(), comp); c.pop_back().
Parámetros
(Ninguno)
Valor de retorno
(Ninguno)
Complejidad
Un número algorítmico de comparaciones más la complejidad de Container::pop_back.
Ejemplo
Ejecuta este código
#include <queue>
#include <iostream>
struct Evento
{
int prioridad{};
char datos{' '};
friend bool operator< (Evento const& lhs, Evento const& rhs) {
return lhs.prioridad < rhs.prioridad;
}
friend std::ostream& operator<< (std::ostream& os, Evento const& e) {
return os << "{ " << e.prioridad << ", '" << e.datos << "' } ";
}
};
int main()
{
std::priority_queue<Evento> eventos;
std::cout << "Llenar la cola de eventos:\n";
for (auto const e: { Evento{6,'L'}, {8,'I'}, {9,'S'}, {1,'T'}, {5,'E'}, {3,'N'} }) {
std::cout << e << ' ';
eventos.push(e);
}
std::cout << "\n" "Procesar eventos:\n";
for (; !eventos.empty(); eventos.pop()) {
Evento const& e = eventos.top();
std::cout << e << ' ';
}
}
Salida:
Llenar la cola de eventos:
{ 6, 'L' } { 8, 'I' } { 9, 'S' } { 1, 'T' } { 5, 'E' } { 3, 'N' }
Procesar eventos:
{ 9, 'S' } { 8, 'I' } { 6, 'L' } { 5, 'E' } { 3, 'N' } { 1, 'T' }
Véase también
(C++11) |
Encola el elemento en el sitio y ordena el contenedor subyacente. (función miembro pública) |
| Encola un elemento y ordena el contenedor subyacente. (función miembro pública) | |
| Accede al elemento en la parte superior. (función miembro pública) |