我试图在名为AdjList的结构中比较hsld(整数)。 这是在输入指向优先级队列的指针时用于比较的函数。
struct CompareHSLD
{
bool operator()(AdjList* const p1, AdjList* const p2)
{
return p1->hsld < p2->hsld;
}
};
这是优先级队列声明。
priority_queue<AdjList*, vector<AdjList*>, CompareHSLD> PriQueueAdj;
无法弄清楚此实现中的错误。没有语法错误,但优先级队列似乎没有排序。它会弹出错误的元素。
如果我想首先弹出最低值的元素,它应该是p1->hsld > p2.hsld
吗?