C++ 佇列::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。

示例

讓我們來看下面的例子,我們將對兩個佇列進行基本的比較。

#include <iostream>
#include <queue>
int main() {
    std::queue<int> a;
    std::queue<int> b;
    a.push(1);
    a.push(2);
    b.push(1);
    b.push(22);
    if (a < b) {
        std::cout << "Queue1 is less than Queue2" << std::endl;
    } else {
        std::cout << "Queue1 is not less than Queue2" << std::endl;
    }
    return 0;
}

輸出

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

Queue1 is less than Queue2

示例

考慮另一種情況,我們將考慮不同大小的佇列並應用 operator< 函式。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> x;
    std::queue<int> y;
    x.push(1);
    x.push(2);
    y.push(1);
    y.push(2);
    y.push(3);
    if (x < y) {
        std::cout << "Queue1 is less than Queue2" << std::endl;
    } else {
        std::cout << "Queue1 is not less than Queue2" << std::endl;
    }
    return 0;
}

輸出

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

Queue1 is less than Queue2

示例

在下面的示例中,我們將初始化相等的佇列並應用 operator< 函式。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    std::queue<int> b;
    a.push(1);
    a.push(2);
    b.push(1);
    b.push(2);
    if (a < b) {
        std::cout << "Queue1 is less than Queue2" << std::endl;
    } else {
        std::cout << "Queue1 is not less than Queue2" << std::endl;
    }
    return 0;
}

輸出

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

Queue1 is not less than Queue2

示例

以下是一個示例,我們將比較空佇列和非空佇列,並觀察輸出。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    std::queue<int> b;
    b.push(123);
    if (a < b) {
        std::cout << "Queue1 is less than Queue2" << std::endl;
    } else {
        std::cout << "Queue1 is not less than Queue2" << std::endl;
    }
    return 0;
}

輸出

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

Queue1 is less than Queue2
queue.htm
廣告
© . All rights reserved.