C++ Queue::operator==() 函式



C++ 的std::queue::operator==()函式用於透過比較元素和順序來檢查兩個佇列是否相等。如果兩個佇列包含相同的元素,則返回 true;否則返回 false。它對於有效比較佇列非常有用,提供了一種方便的方法來檢查相等性,而無需遍歷每個元素。此函式的時間複雜度為線性,即 O(n)。

語法

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

bool operator== (const queue<T,Container>& q1, const queue<T,Container>& q2);

引數

  • q1 − 指示第一個佇列物件。
  • q2 − 指示第二個佇列物件。

返回值

如果兩個佇列相同,則此函式返回 true;否則返回 false。

示例

讓我們來看下面的例子,我們將用相同的元素初始化兩個佇列,並應用 operator==() 函式。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a, b;
    a.push(11);
    a.push(222);
    b.push(11);
    b.push(222);
    if (a == b)
        std::cout << "Queues are equal." << std::endl;
    else
        std::cout << "Queues are not equal." << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Queues are equal.

示例

考慮另一種情況,我們將初始化不同大小的佇列並應用 operator==() 函式。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a, b;
    a.push(11);
    a.push(222);
    b.push(1);
    if (a == b) {
        std::cout << "Queues are equal.";
    } else {
        std::cout << "Queues are not equal.";
    }
    return 0;
}

輸出

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

Queues are not equal.

示例

在下面的例子中,我們將對空佇列應用 operator==() 函式並觀察輸出。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a, b;
    if (a == b) {
        std::cout << "Queues are equal.";
    } else {
        std::cout << "Queues are not equal.";
    }
    return 0;
}

輸出

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

Queues are equal.

示例

下面的例子中,我們將用相同數量但不同值的元素初始化佇列,並應用 operator==() 函式。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> x, b;
    x.push(11);
    x.push(2);
    b.push(222);
    b.push(33);
    if (x == b) {
        std::cout << "Queues are equal.";
    } else {
        std::cout << "Queues are not equal.";
    }
    return 0;
}

輸出

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

Queues are not equal.
queue.htm
廣告
© . All rights reserved.