C++ unordered_multimap::count() 函数



C++ 的unordered_multimap::count()函数用于返回与键k关联的映射值的个数。如果键k不存在于unordered_multimap中,则返回零;否则,返回总个数。

语法

以下是unordered_multimap::count()函数的语法:

size_type count(const key_type& k) const;

参数

  • k - 表示要搜索的键值。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

如果容器包含与键k关联的值,则返回1;否则返回0。

示例1

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

Open Compiler
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_multimap<char, int> umm = { {'a', 1}, {'b', 2}, {'c', 3}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5} }; int t_b = umm.count('b'); int t_z = umm.count('z'); cout<<"Total number of key b: "<<t_b<<endl; cout<<"Total number of key z: "<<t_z<<endl; return 0; }

输出

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

Total number of key b: 2
Total number of key z: 0

示例2

考虑以下示例,我们将使用count()函数来添加出现次数大于或等于2的关联键的值。

Open Compiler
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_multimap<int, int> umm = { {10, 1}, {10, 2}, {20, 3}, {10, 4}, {30, 5} }; int valueSum = 0; for(auto& it: umm) { if(umm.count(it.first)>=2){ valueSum = valueSum + it.second; } } cout<<"addition of key that occurs more than or equal to 2 time: " <<valueSum<<endl; return 0; }

输出

以下是上述代码的输出:

addition of key that occurs more than or equal to 2 time: 7

示例3

让我们看看下面的示例,我们将显示如果与键关联的值的总数大于或等于2的键值对。

Open Compiler
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_multimap<char, int> umm = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'b', 2}, {'c', 3}, {'d', 4}, }; for(auto& it: umm){ if(umm.count(it.first) >=2) cout<<it.first<<" : "<<it.second<<endl; } return 0; }

输出

上述代码的输出如下:

d : 4
d : 4
c : 3
c : 3
b : 2
b : 2
广告