C++ 结构体重载运算符

听说这个东西有很多种写法什么的,来不及了(要退役了),先整一个之前用到的,可能用到的频率比较高的东西上来。

struct node{
    ll x,y;
};
bool operator < (const node& a,const node& b)
{
    if(a.x<b.x) return true;
    else if(a.x==b.x&&a.y<b.y) return true;
    else return false;
}

这种写法是当时要定义一个什么

map<node,int> vis;

然后$map$里面是红黑树(所以$map$也自带排序来着),这里结构体的小于号要重载,或者给优先队列定义一个比较法则,否则会$CE$。

由于$vis$只是一个标记数组,所以没有管排序是从小到大还是从大到小什么的。

 

猜你喜欢

转载自www.cnblogs.com/lyttt/p/11774402.html