温馨提示×

C++ PriorityQueue 如何删除顶部元素

c++
小樊
81
2024-10-14 18:28:08
栏目: 编程语言

在 C++ 中,你可以使用 std::priority_queue 容器来存储元素,并使用 top() 成员函数来获取顶部元素。但是,std::priority_queue 不提供直接删除顶部元素的成员函数。

如果你想删除优先队列的顶部元素,你可以先使用 top() 函数获取顶部元素,然后使用 pop() 函数删除它。下面是一个示例代码:

#include <iostream>
#include <queue>

int main() {
    std::priority_queue<int> pq;

    // 添加一些元素到优先队列中
    pq.push(3);
    pq.push(1);
    pq.push(4);
    pq.push(2);

    // 获取并打印顶部元素
    std::cout << "Top element is " << pq.top() << std::endl;

    // 删除顶部元素
    pq.pop();

    // 再次获取并打印顶部元素
    std::cout << "Top element is now " << pq.top() << std::endl;

    return 0;
}

在这个示例中,我们首先向优先队列中添加了一些元素,然后使用 top() 函数获取并打印顶部元素。接下来,我们使用 pop() 函数删除顶部元素,并再次使用 top() 函数获取并打印新的顶部元素。

0