C++ Queue::operator<=() 函数



C++ 的std::queue::operator<=()函数用于比较两个队列对象,确定左操作数是否小于或等于右操作数。它根据先进先出 (FIFO) 方式比较元素。如果左队列小于或等于右队列,则返回布尔值 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, b;
    for (int x = 0; x < 3; ++x)
        a.push(x);
    for (int x = 0; x < 5; ++x)
        b.push(x);
    if (a.size() <= b.size())
        std::cout << "Queue1 is smaller or equal to Queue2.";
    else
        std::cout << "Queue1 is larger than Queue2.";
    return 0;
}

输出

以上代码的输出如下:

Queue1 is smaller or equal to Queue2.

示例

在下面的示例中,我们将比较两个队列的队首元素。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a, b;
    a.push(11);
    a.push(2);
    b.push(1);
    b.push(3);
    if (a.front() <= b.front())
        std::cout << "Front element of queue1 is smaller or equal to front element of queue2. ";
    else
        std::cout << "Front element of queue1 is greater than front element of queue2.";
    return 0;
}

输出

以下是以上代码的输出:

Front element of queue1 is greater than front element of queue2.

示例

考虑以下示例,我们将比较队列的队首元素与一个常数值。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    a.push(1);
    a.push(22);
    int x = 5;
    if (a.front() <= x) {
        std::cout << "Front element is less than or equal to " << x << std::endl;
    } else {
        std::cout << "Front element is greater than " << x << std::endl;
    }
    return 0;
}

输出

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

Front element is less than or equal to 5
queue.htm
广告