struct Fiona
{
int f,v;
Fiona(int a,int b):f(a),v(b){}
bool operator < (const Fiona& a)const
{return a.f<f;}
{
int f,v;
Fiona(int a,int b):f(a),v(b){}
bool operator < (const Fiona& a)const
{return a.f<f;}
};
应用于优先队列时a.f<f为出队f值最小
应用于优先队列时a.f>f为出队f值最大
求最短路时'<'
求最长路时由于边权值改变,所以'>'
ps:优先队列是优先大的出队!
struct Leona
{
int h,a,c;
bool operator < (const Leona& x)const
{return a<x.a;}
}s[N];
sort时这么写。
即重载时顺序应该是先是结构体内的值,然后才是传进来那个结构体的对应值。