#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
//常用查找算法_count_if
class Greater20
{
public:
bool operator()(int val)
{
return val > 20;
}
};
//统计内置数据类型
void test01()
{
vector<int>v;
v.push_back(10);
v.push_back(20);
v.push_back(40);
v.push_back(10);
v.push_back(30);
v.push_back(40);
int num = count_if(v.begin(), v.end(), Greater20());
cout << "大于20的元素个数为: " << num << endl;
}
class person
{
public:
person(string name, int age)
{
this->m_name = name;
this->m_age = age;
}
public:
string m_name;
int m_age;
};
class AgeGreater20
{
public:
bool operator()(const person &p)
{
return p.m_age > 20;
}
};
//查找 自定义数据类型
void test02()
{
vector<person>v;
person p1("aaa", 35);
person p2("bbb", 35);
person p3("ccc", 35);
person p4("ddd", 40);
person p5("eee", 20);
v.push_back(p1);
v.push_back(p2);
v.push_back(p3);
v.push_back(p4);
v.push_back(p5);
//统计 年龄大于20岁人员的个数
int num = count_if(v.begin(), v.end(), AgeGreater20());
cout << "年龄大约20岁的人个数为:" << num << endl;
}
int main()
{
//test01();
test02();
system("pause");
return 0;
}
06_常用查找算法_count_if
最新推荐文章于 2024-08-05 20:49:33 发布