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

std::

priority_queue::push

公共成员函数   <queue>

C++98;
void push (const value_type& val);
C++11;
void push (const value_type& val);
void push (value_type&& val);

插入元素

在priority_queue中插入一个新元素。这个新元素的内容被初始化为val。

该成员函数有效地调用底层容器对象的成员函数push_back, 然后通过在包含容器的所有元素的范围内调用push_heap算法,将其重新排序到其在堆中的位置。

☲  参数


val
初始化插入元素的值。
成员类型value_type是容器中元素的类型(定义为第一个类模板形参T的别名)。

☉  返回值


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

✥ 复杂度



在底层容器上调用一个push_back函数,在包含底层容器所有元素的范围上调用一个push_heap函数。

⇄ 数据竞争


容器及其包含的所有元素都被修改。

☂ 异常安全性



提供与在基础容器对象上执行的操作相同级别的保证。

🍄  另请参阅



priority_queue::pop 删除元素(公众成员函数)
priority_queue::size 返回元素个数(公众成员函数)

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