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

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

什么是C ++ STL中的多重集?

多重集是类似于集合容器的容器,这意味着它们以键的形式(类似于集合)以特定顺序存储值。

在多集中,将值标识为与集相同的键。多重集和集合之间的主要区别在于,集合具有不同的键,这意味着没有两个键是相同的,在多重集中可以有相同的键值。

多集键用于实现二进制搜索树。

什么是multiset::count()?

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

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

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

语法

ms_name.count(value_type T);

参数

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

返回值

此函数返回带有相同键的数字值。

示例

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