为什么 maxHeap 初始化语法通过 priority_queue 与 minHeap 不同?

Why is maxHeap initialisation syntax different from minHeap through priority_queue?

我试图使用常规语法创建一个 minHeap,但发现

maxHeap 初始化为:

priority_queue<int> maxHeap;

而 minHeap 被初始化为:

priority_queue<int, vector<int>, greater<int>> minHeap;

知道为什么在 C++ 中会这样吗?如果使用类似的语法初始化 minHeap 和 maxHeap,可能会更容易记住。

priority_queue默认最大堆,所以 priority_queue<int> 是 shorthand for priority_queue<int, vector<int>, less<int>>,确实匹配最小堆语法