(C++17) | ||||
Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
Associative | ||||
Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
Views | ||||
(C++20) | ||||
(C++23) | ||||
Tables | ||||
Iterator invalidation | ||||
Member function table | ||||
Non-member function table |
std::priority_queue
Member functions | ||||
Element access | ||||
Capacity | ||||
Modifiers | ||||
priority_queue::push | ||||
(C++23) | ||||
(C++11) | ||||
(C++11) | ||||
Non-member functions | ||||
(C++11) | ||||
Helper classes | ||||
Deduction guides(C++17) |
void push(const value_type& value); | (1) | |
void push( value_type&& value); | (2) | (since C++11) |
Pushes the given elementvalue to the priority queue.
Contents |
value | - | the value of the element to push |
(none)
Logarithmic number of comparisons plus the complexity ofContainer::push_back.
#include <iostream>#include <queue> struct Event{int priority{};char data{' '}; friendbool operator<(Eventconst& lhs, Eventconst& rhs){return lhs.priority< rhs.priority;} friendstd::ostream& operator<<(std::ostream& os, Eventconst& e){return os<<'{'<< e.priority<<", '"<< e.data<<"'}";}}; int main(){std::priority_queue<Event> events; std::cout<<"Fill the events queue:\t"; for(autoconst 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()){ Eventconst& e= events.top();std::cout<< e<<' ';} std::cout<<'\n';}
Output:
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'}
(C++11) | constructs element in-place and sorts the underlying container (public member function)[edit] |
removes the top element (public member function)[edit] |