📜  C++ STL-priority_queue.push()函数(1)

📅  最后修改于: 2023-12-03 14:59:46.098000             🧑  作者: Mango

C++ STL中priority_queue.push()函数

简介

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()用于将最高优先级元素从队列中移除。