C++count函数
转⾃:
⼀.count函数
algorithm头⽂件定义了⼀个count的函数,其功能类似于find。这个函数使⽤⼀对迭代器和⼀个值做参数,返回这个值出现次数的统计结果。
编写程序读取⼀系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次。
核⼼代码:
cout<<count(ivec.begin() , d() , searchValue)
1
具体实现:
//读取⼀系列int数据,并将它们存储到vector对象中,
//然后使⽤algorithm头⽂件中定义的名为count的函数,
//统计某个指定的值出现了多少次
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int ival , searchValue;
vector<int> ivec;
//读⼊int型数据并存储到vector对象中,直⾄遇到⽂件结束符
cout<<"Enter some integers(Ctrl+Z to end): "<<endl;
while(cin >> ival)
ivec.push_back(ival);
cin.clear(); // 使输⼊流重新有效
//读⼊欲统计其出现次数的int值
cout<<"Enter an integer you want to search: "<<endl;
cin>>searchValue;
//使⽤count函数统计该值出现的次数并输出结果
cout<<count(ivec.begin() , d() , searchValue)
<<"  elements in the vector have value "
<<searchValue<<endl;
return 0;
}
⼆.count_if函数
count_if :返回区间中满⾜指定条件的元素数⽬。
template
#include <vector>
#include <algorithm>
#include <iostream>
bool greater10(int value)
{
return value >10;
}
int main()
{
using namespace std;
vector<int> v1;
count函数怎么统计文字vector<int>::iterator Iter;
v1.push_back(10);
v1.push_back(20);
v1.push_back(10);
v1.push_back(40);
v1.push_back(10);
cout << "v1 : ";
for (Iter = v1.begin(); Iter != v1.end(); Iter++)
cout << *Iter << " ";
cout << endl;
vector<int>::size_type  result1 = count_if(v1.begin(), v1.end(), greater10);  //count_if算法返回使谓词函数返回条件成⽴的元素个数    cout << "The number of elements in v1 greater than 10 is: "
<< result1 << "." << endl;
return 0;
}
谓词(predicate):是做某些检测的函数,返回⽤于条件判断的类型,指出条件是否成⽴。
总结:
count : 在序列中统计某个值出现的次数
count_if : 在序列中统计与某谓词匹配的次数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。