C++ PriorityQueue 如何刪除頂部元素

c++
小樊
81
2024-10-14 18:28:08

在 C++ 中,你可以使用 std::priority_queue 容器來(lái)存儲(chǔ)元素,并使用 top() 成員函數(shù)來(lái)獲取頂部元素。但是,std::priority_queue 不提供直接刪除頂部元素的成員函數(shù)。

如果你想刪除優(yōu)先隊(duì)列的頂部元素,你可以先使用 top() 函數(shù)獲取頂部元素,然后使用 pop() 函數(shù)刪除它。下面是一個(gè)示例代碼:

#include <iostream>
#include <queue>

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

    // 添加一些元素到優(yōu)先隊(duì)列中
    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;
}

在這個(gè)示例中,我們首先向優(yōu)先隊(duì)列中添加了一些元素,然后使用 top() 函數(shù)獲取并打印頂部元素。接下來(lái),我們使用 pop() 函數(shù)刪除頂部元素,并再次使用 top() 函數(shù)獲取并打印新的頂部元素。

0