【发布时间】:2021-05-01 16:12:13
【问题描述】:
我试图使用常规语法创建一个 minHeap,但发现
maxHeap 被初始化为:
priority_queue<int> maxHeap;
而 minHeap 被初始化为:
priority_queue<int, vector<int>, greater<int>> minHeap;
知道为什么在 C++ 中会这样吗?如果 minHeap 和 maxHeap 是使用类似的语法初始化的,那么记忆起来会容易得多。
【问题讨论】:
-
第 2 和第 3 模板参数有默认值,请参阅:en.cppreference.com/w/cpp/container/priority_queue 因为您不能只提供第 3 个参数(比较),您还必须提供第 2 个(容器类型)。
标签: c++ vector priority-queue min-heap max-heap