C++ Deque::operator<() 函数



C++ 的 std::deque::operator<() 函数用于按字典序比较两个 deque 对象。它按顺序比较元素,直到找到第一对不相等的元素。如果第一个 deque 中的元素小于第二个 deque 中对应的元素,则返回 true,否则返回 false。

语法

以下是 std::deque::operator<() 函数的语法。

bool operator<  (const deque<T,Alloc>& lhs, const deque<T,Alloc>& rhs);

参数

  • lhs, rhs − 表示 deque 容器。

返回值

如果条件成立,则返回 true,否则返回 false。

异常

此函数从不抛出异常。

时间复杂度

此函数的时间复杂度为线性,即 O(n)。

示例

在以下示例中,我们将考虑 operator<() 函数的基本用法。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a = {1, 2};
    std::deque<int> b = {1, 2, 3};
    if (a < b) {
        std::cout << "a is less than b";
    } else {
        std::cout << "a is not less than b";
    }
}

输出

以上代码的输出如下:

a is less than b

示例

考虑以下示例,我们将比较空 deque 与非空 deque 并观察输出。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a;
    std::deque<char> b = {'A', 'B', 'C'};
    if (a < b) {
        std::cout << "a is less than b";
    } else {
        std::cout << "a is not less than b";
    }
}

输出

以下是以上代码的输出:

a is less than b

示例

在以下示例中,我们将比较包含字符串的 deque。

#include <iostream>
#include <deque>
int main()
{
    std::deque<std::string> a = {"Ducati", "Cheron"};
    std::deque<std::string> b = {"Alto", "Benz"};
    if (a < b) {
        std::cout << "a is less than b";
    } else {
        std::cout << "a is not less than b";
    }
}

输出

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

a is not less than b
deque.htm
广告