菜鸟笔记
提升您的技术认知

C++常用函数--count函数

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的内置方法,其用于通过给定 keyunordered_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