C++ unordered_multimap::count() 函数



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

语法

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

size_type count(const key_type& k) const;

参数

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

返回值

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

示例1

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

#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的关联键的值。

#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的键值对。

#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
广告
© . All rights reserved.