C++ priority_queue::empty() 函式



優先順序佇列的 C++ std::priority_queue::empty() 函式用於檢查佇列是否為空。如果佇列不包含任何元素,則返回布林值 true,否則返回 false。它在佇列非空時執行程式碼很有用,可以防止嘗試訪問空佇列中的元素導致的錯誤。此函式的時間複雜度為常數,即 O(1)。

語法

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

bool empty() const;

引數

此函式不接受任何引數。

返回值

如果 priority_queue 為空,則此函式返回 true,否則返回 false。

示例

讓我們看看下面的示例,我們將檢查 priority_queue 是否為空。

#include <iostream>
#include <queue>
int main()
{
    std::priority_queue<int> a;
    if (a.empty()) {
        std::cout << "Priority_queue is empty." << std::endl;
    } else {
        std::cout << "Priority_queue is not empty." << std::endl;
    }
    return 0;
}

輸出

以下是上述程式碼的輸出 -

Priority_queue is empty.

示例

考慮下面的示例,我們將把元素推入 priority_queue,然後使用迴圈列印並移除元素,直到它為空。

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

輸出

上述程式碼的輸出如下 -

2 1 

示例

在下面的示例中,我們將使用 empty() 函式並檢查 priority_queue 是否為空。

#include <iostream>
#include <queue>
#include <string>
int main()
{
    std::priority_queue<std::string> a;
    a.push("Welcom");
    a.push("TP");
    if (a.empty()) {
        std::cout << "Priority_queue is empty." << std::endl;
    } else {
        std::cout << "Priority_queue is not empty." << std::endl;
    }
    return 0;
}

輸出

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

Priority_queue is not empty.
priority_queue.htm
廣告

© . All rights reserved.