std::priority_queue<T,Container,Compare>::push
De cppreference.com
< cpp | container | priority queue
void push( const value_type& value ); |
||
void push( value_type&& value ); |
(desde C++11) | |
Encola el elemento dado value
en la cola de prioridad.
1) Efectivamente llama a c.push_back(value); std::push_heap(c.begin(), c.end(), comp);
2) Efectivamente llama a c.push_back(std::move(value)); std::push_heap(c.begin(), c.end(), comp);
Contenido |
[editar] Parámetros
value | - | El valor del elemento a encolar. |
[editar] Valor de retorno
(Ninguno)
[editar] Complejidad
Un número algorítmico de comparaciones más la complejidad de Container::push_back.
[editar] 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' }
[editar] Véase también
(C++11) |
Encola el elemento en el sitio y ordena el contenedor subyacente. (función miembro pública) |
Desencola el elemento en la parte superior de la cola de prioridad. (función miembro pública) |