count
统计和给定的值相同元素个数。
template<class InputIterator, class Type>
typename iterator_traits<InputIterator>::difference_type count(
InputIterator _First, //起始迭代器
InputIterator _Last, //结束迭代器
const Type& _Val //需要统计的值
);
源码剖析
template<class InputIterator, class Type>
typename iterator_traits<InputIterator>::difference_type count(
InputIterator first, //起始迭代器
InputIterator last, //结束迭代器
const Type& val //需要统计的值
)
{
typename iterator_traits<InputIterator>::difference_type n = 0;//计数器
for(; first != last; ++first) //遍历整个区间
{
if(*first == val) //和需要统计的值相同
++n; //计算器+1
}
return n;
}
应用举例
//输出vector的所有元素
template<typename T>
void Show(const vector<T>& v)
{
for (auto x : v)
cout << x << " ";
cout << endl;
}
int main()
{
vector<int> v{1,2,1,2,3,1,2,3,4,1,2,3,4,5};
auto c = count(v.begin(),v.end(),1);//统计v中1的个数
cout << "v:"; Show(v);
cout << "v中1的个数:" << c << endl;
return 0;
}
本片完!