From cppreference.com
voidpop();Removes the top element from the priority queue. Effectively calls std::pop_heap(c.begin(),c.end(),comp);c.pop_back();.
Complexity
Logarithmic number of comparisons plus the complexity of Container::pop_back.
Example
Run this code
#include<iostream>#include<queue>structEvent{intpriority{};chardata{' '};friendbooloperator<(Eventconst&lhs,Eventconst&rhs){returnlhs.priority<rhs.priority;}friendstd::ostream&operator<<(std::ostream&os,Eventconst&e){returnos<<'{'<<e.priority<<", '"<<e.data<<"'}";}};intmain(){std::priority_queue<Event>events;std::cout<<"Fill the events queue:\t";for(autoconste:{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'} See also
(C++11)
constructs element in-place and sorts the underlying container
(public member function)
inserts element and sorts the underlying container
(public member function)
accesses the top element
(public member function)