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$只是一个标记数组,所以没有管排序是从小到大还是从大到小什么的。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM