C++ STL 中的 multiset count() 函数


在本文中,我们将讨论 C++ STL 中 multiset::count() 函数的工作原理、语法和示例。

什么是 C++ STL 中的 multiset?

Multiset 与 set 容器类似,这意味着它们以键的形式存储值,就像 set 一样,以特定的顺序存储。

在 multiset 中,值与 set 一样被识别为键。multiset 和 set 之间的主要区别在于 set 具有不同的键,这意味着没有两个键是相同的,而在 multiset 中可以有相同的键值。

Multiset 键用于实现二叉搜索树。

什么是 multiset::count()?

multiset::count() 函数是 C++ STL 中的内置函数,它在 <set> 头文件中定义。

此函数计算具有特定键的元素的数量。

一个 multiset 可以具有多个相同键的值,因此当我们想要计算相同键的值的数量时,可以使用 count()。count() 在整个容器中搜索键并返回结果。如果容器中没有我们正在查找的键,则函数返回 0。

语法

ms_name.count(value_type T);

参数

该函数接受一个 multiset 值类型的参数,我们必须在关联的 multiset 容器中搜索该参数。

返回值

此函数返回具有相同键的值的数量。

示例

Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 2, 4};
   mymultiset.count(2);
Output: 3

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {1, 2, 3, 1, 1, 1};
   multiset<int> check(arr, arr + 6);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   cout << "\n1 is occuring: "<<check.count(1)<<" times";
   return 0;
}

输出

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

List is : 1 1 1 1 2 3
1 is occuring 4 times

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {1, 2, 3, 1, 1, 1, 2, 2};
   multiset<int> check(arr, arr + 8);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
   cout << *i << " ";
   cout << "\n1 is occuring: "<<check.count(1)<<" times";
   cout << "\n2 is occuring: "<<check.count(2)<<" times";
   return 0;
}

输出

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

List is : 1 1 1 1 2 2 2 3
1 is occuring 4 times
2 is occuring 3 times

更新于: 2020年3月23日

712 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告