【发布时间】:2014-10-18 20:16:17
【问题描述】:
具体来说,STL 优先级队列容器适配器使用什么堆变体?我将它与我自己的手动二进制堆和双桶结构实现进行基准测试,所以只是想知道。任何有趣的实现知识都可以加分!
【问题讨论】:
-
std::*_heap函数是可能的。 -
由于这是特定于实现的,您对哪个特定的实现感兴趣?
-
在 Visual Studio 2012 上,他们使用 std::make_heap() 创建堆。默认情况下,这是一个最大堆。如果您需要确切的详细信息,您应该只检查系统上的源代码。
-
实施 = Apple LLVM 5.1 版 (clang-503.0.40)(基于 LLVM 3.4svn)
-
@chris:不仅仅是可能性。
priority_queue被指定使用这些函数。
标签: c++ data-structures stl heap priority-queue