C++ set & map 存儲結構體,重載運算符

#include<bits/stdc++.h>
using namespace std;
struct s{
	int a,b;
	int operator < (const s &aa) const
	{
		if(aa.a==a)
		{
			return b<aa.b;
		}
		return a<aa.a;
	}
};
int main()
{
	set<s>ss;
	s sss1={1,1};
	ss.insert(sss1);
	s sss2={2,3};
	ss.insert(sss2);
	s sss3={2,2};
	s sss4={2,2};
	ss.insert(sss3);
	for(auto i=ss.begin();i!=ss.end();i++)
	{
		cout<<(*i).a<<" "<<(*i).b<<endl;
	}
	map<s,int>m;
	m[sss1]++;	m[sss2]++;
	m[sss3]++;	m[sss4]++;
	for(auto i=m.begin();i!=m.end();i++)
	{
		cout<<i->first.a<<" "<<i->first.b<<" "<<i->second<<endl;
	}
	s sss5={2,2};
	cout<<m[sss5];
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章