为什么 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>>
,确实匹配最小堆语法
我试图使用常规语法创建一个 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>>
,确实匹配最小堆语法