struct node
{
int id,dis;
bool operator<(const node &x)const
{
return x.dis < dis;
}
};
priority_queue<node>q;
以上代码是经典的优先队列定义,可是本蒟蒻不理解这个的原理,也不理解为什么不能将这个重载写成
struct node
{
int id,dis;
bool operator<(const node &x,const node &y)const
{
return x.dis < y.dis;
}
};
priority_queue<node>q;
求解答,谢谢!