以下のように宣言された一連の ListNode オブジェクトを保持する priority_queue があるとします。
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 に ListNode オブジェクトを val の昇順で保持させることができます。
私の質問は、priority_queue が ListNode クラスへのポインターを保持している場合、代わりにポインターをソートして、val が指す値が昇順になるようにすることができるかどうかです。それ、どうやったら出来るの?
std::priority_queue<ListNode *> pq1;
ありがとう!