STL Priority Queue
STL Priority Queue
包含头文件<queue>
定义:
1 | namespace std { |
内部Container默认用vector实现。内部比较标准是<。
可以用其他提供random-access iterator和front(), push_back(), pop_back()的顺序容器。随机存取迭代器时为了给元素排序,用的是STL的heap算法。也可以用deque来实现。
如果要定义自己的比较标准,应该传入一个二元运算的函数/函数对象/lambda用于比较两个元素。
如:std::priority_queue<float, std::vector<float>, std::greater<float> > pbuffer;
The Core Interface
- push() inserts an element into the priority queue.
- top() returns the next element in the priority queue.
- pop() removes an element from the priority queue.
- size()/empty()
Example of Using Priority Queues
1 |
|
[1] The C++ Standard Library 2nd Edition