Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

priority_queue::pop

公共成员函数   <queue>

void pop();

删除顶部元素

移除位于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 插入元素(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图