Espacios de nombres
Variantes
Acciones

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);

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

#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) [editar]
Desencola el elemento en la parte superior de la cola de prioridad.
(función miembro pública) [editar]