std::priority_queue<T,Container,Compare>::push
De cppreference.com
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);Parámetros
| value | - | El valor del elemento a encolar. |
Valor de retorno
(Ninguno)
Complejidad
Un número algorítmico de comparaciones más la complejidad de Container::push_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) |
| Desencola el elemento en la parte superior de la cola de prioridad. (función miembro pública) |