【问题标题】:Why is maxHeap initialisation syntax different from minHeap through priority_queue?为什么 max Heap 初始化语法与 min Heap 通过 priority_queue 不同?
【发布时间】:2021-05-01 16:12:13
【问题描述】:

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

maxHeap 被初始化为:

priority_queue<int> maxHeap;

而 minHeap 被初始化为:

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

知道为什么在 C++ 中会这样吗?如果 minHeap 和 maxHeap 是使用类似的语法初始化的,那么记忆起来会容易得多。

【问题讨论】:

标签: c++ vector priority-queue min-heap max-heap


【解决方案1】:

priority_queue 默认为最大堆,所以 priority_queue&lt;int&gt;priority_queue&lt;int, vector&lt;int&gt;, less&lt;int&gt;&gt; 的简写,确实符合最小堆语法

【讨论】:

    猜你喜欢
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 2019-05-23
    • 2012-08-07
    • 1970-01-01
    • 2012-08-26
    相关资源
    最近更新 更多