假设我们有一个priority_queue,其中包含一堆 ListNode 对象,声明如下:
class ListNode {
int val;
ListNode *next;
public:
explicit ListNode(int v) : val(v), next(NULL) {}
inline bool operator<(const ListNode& rhs) const {
return val < rhs.val;
}
};
std::priority_queue<ListNode> pq;
通过覆盖 operator< 方法或提供排序函子,我们可以让 priority_queue 按 val 的升序保存 ListNode 对象。
我的问题是,如果priority_queue 持有指向ListNode 类的指针,我是否可以对指针进行排序,以便val 的指向按升序排列。我怎么做?
std::priority_queue<ListNode *> pq1;
谢谢!