C++ multimap::count() 函数



C++ 的 std::multimap::count() 函数用于返回与指定键匹配的元素数量。与每个键都唯一的 std::map 不同,std::multimap 允许具有相同键的多个元素。它操作的是一个排序集合,其中每个键可以与多个值关联。使用此函数,我们可以确定某个键在 multimap 中出现的次数。此函数的时间复杂度是对数级的,即 O(log n)。

语法

以下是 std::multimap::count() 函数的语法。

size_type count (const key_type& k) const;

参数

  • k − 表示要搜索的键。

返回值

此函数返回与键关联的值的数量。

示例

在下面的示例中,我们将演示 count() 函数的基本用法。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Sail"}, {2, "Audi"}, {1, "Beat"}, {1, "Cruze"}};
    int x = 1;
    int y = a.count(x);
    std::cout << "Occurrences of key " << x << ": " << y << std::endl;
    return 0;
}

输出

以上代码的输出如下:

Occurrences of key 1: 3

示例

考虑下面的示例,我们将获取不存在的键的计数。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {2, "Hello"},{3, "Namaste"}};
    int x = 5;
    int y = a.count(x);
    std::cout << "Occurrences of key " << x << ": " << y << std::endl;
    return 0;
}

输出

以上代码的输出如下:

Occurrences of key 5: 0

示例

让我们看下面的示例,我们将对空的 multimap 应用 count 并观察输出。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x;
    int a = 2;
    int b = x.count(a);
    std::cout << "Occurrences of key " << a << ": " << b << std::endl;
    return 0;
}

输出

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

Occurrences of key 2: 0

示例

下面的示例中,我们将 count() 函数用于循环中。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {1, "Hello"}, {3, "Welcome"}};
    for (int x = 1; x <= 2; ++x) {
        int y = a.count(x);
        std::cout << "Occurrences of key " << x << " : " << y << std::endl;
    }
    return 0;
}

输出

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

Occurrences of key 1 : 2
Occurrences of key 2 : 0
multimap.htm
广告