C++ 算法count()函数
C++ 算法 count() 函数接受 ‘val’ 作为参数,并在给定范围内比较元素 ‘val’ 的出现情况。返回该元素的出现次数。
语法
template <class InputIterator, class T>
typename iterator_traits<InputIterator>::difference_type count (InputIterator first, InputIterator last, const T& val);
参数
first :是指向范围中第一个元素的输入迭代器。
last :是指向范围中最后一个元素的输入迭代器。
val :是在范围中正在搜索的元素。
返回值
该函数返回元素“val”在范围[first,last)中出现的次数。
示例1
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int newints[]={50,60,70,70,60,50,50,60};
int newcount=std::count(newints, newints+8, 50);
std::cout<<"50 appear "<<newcount<<"times.\n";
std::vector<int> newvector(newints, newints+8);
newcount=std::count(newvector.begin(),newvector.end(),70);
std::cout<<"70 appear "<<newcount<<"times.\n";
return 0;
}
输出:
50 appear 3 times.
70 appear 2 times.
示例2
#include <bits/stdc++.h>
using namespace std;
int main()
{
int ar[]={6,4,2,6,6,10,6};
int n = sizeof(ar)/sizeof(ar[0]);
cout<<"The number of times 6 appear is:"<<count(ar,ar+n,6);
return 0;
}
输出:
The number of times 6 appear is: 4
复杂度
函数的复杂度是线性的,直到第一个元素和最后一个元素之间的距离。
数据竞争
范围中的某些或所有元素正在被访问
异常
如果任何一个参数引发异常,该函数将抛出异常。