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。

示例

让我们来看下面的例子,我们将用整数初始化队列并进行比较。

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

输出

以上代码的输出如下:

Queue1 is greater than Queue2.

示例

考虑另一种情况,我们将用字符初始化队列并应用 operator> 函数。

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

输出

以上代码的输出如下:

Queue1 is not greater than Queue2.

示例

在下面的例子中,我们将对包含浮点值的队列应用 operator> 函数。

#include <iostream>
#include <queue>
int main()
{
    std::queue<float> a;
    std::queue<float> b;
    a.push(1.1);
    a.push(0.4);
    b.push(0.2);
    b.push(0.5);
    if (a > b) {
        std::cout << "Queue1 is greater than Queue2." << std::endl;
    } else {
        std::cout << "Queue1 is not greater than Queue2." << std::endl;
    }
    return 0;
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Queue1 is greater than Queue2.

示例

以下示例将对空队列应用 operator> 函数并观察输出。

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

输出

如果运行以上代码,它将生成以下输出:

Queue1 is not greater than Queue2.
queue.htm
广告
© . All rights reserved.