count函数
count
函数是C++标准模板库中的函数,使用时包含头文件algorithm
,主要就是用来Count appearances of value in range
。其次C++的不同数据结构中也内置有count
方法,用法可能不同,例如unordered_map
。
a.STL中的count函数
\\形参列表
\\起始位置,终止位置,要查找的元素
count (InputIterator first, InputIterator last, const T& val)
该函数返回在 [ f i r s t , l a s t ) [first,last) [first,last)区间内等于 v a l val val的元素个数
// count algorithm example
#include <iostream> // std::cout
#include <algorithm> // std::count
#include <vector> // std::vector
int main () {
// counting elements in array:
int myints[] = {
10,20,30,30,20,10,10,20}; // 8 elements
int mycount = std::count (myints, myints+8, 10);
std::cout << "10 appears " << mycount << " times.\n";
// counting elements in container:
std::vector<int> myvector (myints, myints+8);
mycount = std::count (myvector.begin(), myvector.end(), 20);
std::cout << "20 appears " << mycount << " times.\n";
return 0;
}
结果如下:
10 appears 3 times.
20 appears 3 times.
b.不同数据结构中的count(以unordered_map为例)
作为unordered_map
的内置方法,其用于通过给定 key
对unordered_map
中存在的元素数量进行计数。通过.
来访问。
#include<iostream>
#include<unordered_map>
using namespace std;
int main()
{
// unordered map
unordered_map<int , string> umap;
// Inserting elements into the map
umap.insert(make_pair(1,"Welcome"));
umap.insert(make_pair(2,"to"));
umap.insert(make_pair(3,"GeeksforGeeks"));
umap.insert(make_pair(3,"CS Portal"));
cout<<"Count of elements in map, mapped with key 3:"<<umap.count(3);
return 0;
}
结果如下:
Count of elements in map, mapped with key 3:1