📅  最后修改于: 2023-12-03 14:59:46.098000             🧑  作者: Mango
std::priority_queue
是C++ STL中的一个容器,它是一个带有优先级的队列,可以将元素按照一定的优先级进行排序。push()
函数是其中的一个成员函数,用于向队列中插入元素。
void push(const value_type& value);
它的参数为要插入的元素。
创建一个std::priority_queue
对象,并使用push()
函数插入元素。
#include <iostream>
#include <queue>
int main()
{
// 创建一个 priority_queue
std::priority_queue<int> pq;
// 插入元素
pq.push(10);
pq.push(20);
pq.push(30);
return 0;
}
push()
函数将元素插入到队列的末尾,并根据元素的优先级进行排序。push()
函数将抛出std::bad_alloc
异常。push()
函数的时间复杂度为$O(log(n))$,其中$n$为队列中元素的数量。下面是一个简单的示例,用于演示push()
函数的使用。
#include <iostream>
#include <queue>
int main()
{
// 创建一个 priority_queue
std::priority_queue<int> pq;
// 插入元素
pq.push(10);
pq.push(20);
pq.push(30);
// 打印队列中的元素
while (!pq.empty())
{
std::cout << pq.top() << " ";
pq.pop();
}
return 0;
}
程序的输出结果为:
30 20 10
其中,pq.top()
用于获取队列中的最高优先级元素,pq.pop()
用于将最高优先级元素从队列中移除。