/*
*algorithm头文件定义了一个名为count的函数,
*其功能类似于find,
*这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int ival, searchValue;
vector<int> ivec;
cout<<"Enter some integers(Ctrl+Z to end):"<<endl;
while(cin>>ival)
ivec.push_back(ival);
cin.clear();
cout<<"Enter an integer you want to search:"<<endl;
cin>>searchValue;
cout<<count(ivec.begin(), ivec.end(), searchValue)
<<" elements in the vector have value "
<<searchValue<<endl;
return 0;
}
自己重新写count函数:
#include <iostream>
#include <vector>
using namespace std;
template<typename T1, typename T2>
T2 count(T1 beg, T1 end, T2 value)
{
T2 sum=0;
while(beg!=end)
{
if(*beg==value)
++sum;
++beg;
}
return sum;
}
int main()
{
int ival, searchValue;
vector<int> ivec;
cout<<"Enter some integers(Ctrl+Z to end):"<<endl;
while(cin>>ival)
ivec.push_back(ival);
cin.clear();
cout<<"Enter an integer you want to search:"<<endl;
cin>>searchValue;
cout<<count(ivec.begin(), ivec.end(), searchValue)
<<" elements in the vector have value "
<<searchValue<<endl;
return 0;
}