C++ multimap::operator<= 函数



C++ 的 std::multimap::operator<=() 函数用于使用键值对依次比较两个 multimap 中的每个元素。如果第一个 multimap 中的第一个元素小于或等于第二个 multimap 中的对应元素,则返回 true,否则返回 false。

语法

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

bool operator<=( const std::multimap<Key, T, Compare, Alloc>& lhs,
                 const std::multimap<Key, T, Compare, Alloc>& rhs );

参数

  • lhs - 表示第一个 multimap 对象。
  • rhs - 表示第二个 multimap 对象。

返回值

如果第一个 multimap 小于或等于第二个 multimap,则此函数返回 true,否则返回 false。

异常

如果抛出异常,它不会对容器进行任何更改。

时间复杂度

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

示例

让我们看一下以下示例,我们将演示 operator<=() 函数的使用。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "AB"}, {2, "BC"}};
    std::multimap<int, std::string> b = {{1, "AB"}, {2, "CD"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

输出

以上代码的输出如下:

a is less than or equal to b.

示例

考虑另一种情况,我们将比较不同大小的 multimap 并观察输出。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {2, "Hello"}};
    std::multimap<int, std::string> b = {{1, "AB"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

输出

以上代码的输出如下:

a is greater than b.

示例

在以下示例中,我们将比较具有不同键值对的 multimap。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "AB"}, {2, "BC"}};
    std::multimap<int, std::string> b = {{1, "CD"}, {3, "DE"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

输出

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

a is less than or equal to b.
multimap.htm
广告