C++ priority_queue::top() 函式



C++ 的std::priority_queue::top()函式用於檢索最高優先順序元素,而不將其從佇列中移除。它對於在不改變佇列狀態的情況下訪問最高優先順序元素很有用。它簡化了訪問優先順序元素的過程,有助於高效地進行基於優先順序的操作。此函式的時間複雜度為常數,即 O(1)。

語法

以下是 std::priority_queue::top() 函式的語法。

const_reference top() const;

引數

此函式不接受任何引數。

返回值

此函式返回對 priority_queue 中頂部元素的引用。

示例

讓我們看下面的例子,我們將獲取 priority_queue 中的最大元素。

#include <iostream>
#include <queue>
int main()
{
    std::priority_queue<int> a;
    a.push(11);
    a.push(333);
    a.push(2222);
    std::cout << " " << a.top() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

2222

示例

考慮另一種情況,我們將訪問 priority_queue 的頂部元素而不將其移除。

#include <iostream>
#include <queue>
int main()
{
    std::priority_queue<int> a;
    a.push(333);
    a.push(1);
    a.push(22);
    a.push(4342);
    std::cout << "Top element: " << a.top() << std::endl;
    std::cout << "Size after accessing top element:" << a.size() << std::endl;
    return 0;
}

輸出

以下是以上程式碼的輸出:

Top element: 4342
Size after accessing top element:4

示例

在下面的示例中,我們將對用字串值初始化的 priority_queue 應用 top() 函式。

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    priority_queue<string> a;
    a.push("Ninja");
    a.push("Kawasaki");
    a.push("KTM");
    cout << " " << a.top() << endl;
    return 0;
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Ninja

示例

以下是一個示例,我們將迭代地訪問並移除 priority_queue 中的頂部元素,直到它變為空。

#include <iostream>
#include <queue>
int main()
{
    std::priority_queue<int> a;
    a.push(11);
    a.push(2);
    a.push(32);
    while (!a.empty()) {
        std::cout << "Top element: " << a.top() << std::endl;
        a.pop();
    }
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

Top element: 32
Top element: 11
Top element: 2
priority_queue.htm
廣告

© . All rights reserved.