std::
priority_queue::pop
公共成员函数 <queue>
删除顶部元素
移除位于priority_queue顶部的元素,删除的元素是值最大的元素。其大小减1。
这个元素的值可以在弹出之前通过调用成员priority_queue::top来获取。
该成员函数调用pop_heap算法来保持 priority_queues的堆属性,
然后调用底层容器对象的成员函数pop_back来删除该元素。
这调用被移除元素的析构函数。
☲ 参数
-
none
☉ 返回值
none
☣ 示例
// priority_queue::push/pop
#include <iostream> // std::cout
#include <queue> // std::priority_queue
int main ()
{
std::priority_queue<int> mypq;
mypq.push(30);
mypq.push(100);
mypq.push(25);
mypq.push(40);
std::cout << "Popping out elements...";
while (!mypq.empty())
{
std::cout << ' ' << mypq.top();
mypq.pop();
}
std::cout << '\n';
return 0;
} |
输出:
Popping out elements... 100 40 30 25
✥ 复杂度
一个调用pop_heap,一个调用底层容器的pop_back。
⇄ 数据竞争
容器及其包含的所有元素都被修改。
☂ 异常安全性
提供与在基础容器对象上执行的操作相同级别的保证。
🍄 另请参阅
priority_queue::empty |
测试容器是否为空(公众成员函数) |
priority_queue::push |
插入元素(公众成员函数) |