有没有一种简单的方法可以在 C++ 中创建最小堆?
我对 C++ 非常陌生,我想知道是否有一种方法可以从标准库中创建 C++ 的最小堆。
I'm very new to C++, and I was wondering if there was a way to make a min heap in C++ from the standard library.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
中定义的make_heap()
及其朋友,或使用
中定义的priority_queue
代码>.priority_queue
使用make_heap
和下面的朋友。Use
make_heap()
and friends, defined in<algorithm>
, or usepriority_queue
, defined in<queue>
. Thepriority_queue
usesmake_heap
and friends underneath.您可以直接使用
std::make_heap
、std::push_heap
等,也可以使用构建在std::vector
或类似的。std::*_heap
方法位于
中,std::priority_queue
模板位于中;
。You can use
std::make_heap
,std::push_heap
, and others directly, or you can use astd::priority_queue
built on astd::vector
or similar.The
std::*_heap
methods are in<algorithm>
, and thestd::priority_queue
template is in<queue>
.您可以使用 std::priority_queue 中定义的 std::greater 中定义。
例如:
这将打印:
You can use the std::priority_queue defined in with std::greater defined in .
For example:
This will print: