C++ 佇列::empty() 函式



C++ 的std::queue::empty() 函式用於檢查佇列是否為空,並返回一個布林值,如果佇列為空且不包含任何元素則返回 true,否則返回 false。此函式還可以與迴圈或條件語句結合使用。此函式的時間複雜度為常數 O(1)。

語法

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

bool empty() const;

引數

它不接受任何引數。

返回值

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

示例

在以下示例中,我們將演示 empty() 函式的基本用法。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    if (a.empty()) {
        std::cout << "TRUE" << std::endl;
    }
    a.push(1);
    if (!a.empty()) {
        std::cout << "FALSE" << std::endl;
    }
    return 0;
}

輸出

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

TRUE
FALSE

示例

考慮以下示例,我們將使用 empty() 在迴圈中處理並移除元素,直到佇列為空。

#include <iostream>
#include <queue>
int main() {
    std::queue<int> x;
    x.push(1);
    x.push(2);
    while (!x.empty()) {
        std::cout << " " << x.front() << std::endl;
        x.pop();
    }
    if (x.empty()) {
        std::cout << "The queue was empty now." << std::endl;
    }
    return 0;
}

輸出

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

 1
 2
The queue was empty now.

示例

讓我們看一下以下示例,我們將檢查佇列在不同場景下的狀態。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    std::cout << "Initial stage: " << (a.empty() ? "empty" : "not empty") << std::endl;
    a.push(1);
    std::cout << "After pushing: " << (a.empty() ? "empty" : "not empty") << std::endl;
    a.pop();
    std::cout << "After popping: " << (a.empty() ? "empty" : "not empty") << std::endl;
    return 0;
}

輸出

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

Initial stage: empty
After pushing: not empty
After popping: empty
queue.htm
廣告