count算法计算容器中元素出现次数

2021-03-02 14:44:32 浏览数 (1)

函数原型:

代码语言:javascript复制
#include<iostream>
using namespace std;
#include<deque>
#include<algorithm>
#include<string>
class person {
public:
	string name;
	int age;
	person(string n,int a):name(n),age(a){}
	//重载===
	//加上const是因为底层代码要识别,不让传入参数有修改
	bool operator==(const person& p)
	{
		if ( p.age == age)
			return true;
		return false;
	}
};
void test01()
{
	//count
	person p1("孙悟空", 180);
	person p2("沙僧", 40);
	person p3("猪八戒", 40);
	person p4("白骨精", 18);
	person p5("牛魔王", 40);
	deque<person> m={p1,p2,p3,p4,p5};
	person p6("二郎神", 40);
	cout << count(m.begin(), m.end(), p6) << endl;
}
int main()
{
	test01();
	system("pause");
	return 0;
}

注意:要重载==运算符,加上const

0 人点赞