我们来观察下面的结构体重载运算符代码:
- 给set重载<:
#include <iostream> #include <set> using namespace std; struct Point{ int x,y; bool operator<(const Point &rhs)const{ if(x==rhs.x){ return y<rhs.y; }else{ return x<rhs.x; } } }; int main() { int n; set<Point> v; cin>>n; for (int i=0;i<n;i++){ Point temp; cin>>temp.x>>temp.y; v.insert(temp); } for (set<Point>::iterator it=v.begin();it!=v.end();it++){ cout<<it->x<<" "<<it->y<<endl; } return 0; }
- 给priority_queue重载<:
#include <iostream> #include <queue> #include <vector> #include <algorithm> using namespace std; struct node { int sum; int a; int b