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 |
返回元素个数(公众成员函数) |