【问题标题】:Converting a priority queue to vector of ints in C++在 C++ 中将优先级队列转换为整数向量
【发布时间】:2021-01-26 23:54:34
【问题描述】:

我正在尝试将最小堆优先级队列转换为作为整数向量返回。在 C++ 中是否可以进行这种类型转换;

【问题讨论】:

  • 嗯,你可以将队列中的所有元素一个一个地弹出,然后推送到向量中。
  • 没有隐式或显式的直接转换。

标签: c++ c++11


【解决方案1】:

C++ std::priority_queue 使用容器存储https://en.cppreference.com/w/cpp/container/priority_queue

默认是class Container = std::vector<T>

这是您想要访问的内容吗?如果是这样,虽然运气:

C,底层容器(受保护的成员对象)

它没有暴露。如果需要,您可以从 priority_queue 派生并公开它。但是您发布的内容很少涉及您实际尝试做的事情。

请记住:

  • 容器不存储已排序的元素。它是一个堆,所以只有第一个元素是正确的。它可能没有什么实际用途。

此答案讨论访问容器:Is there a way to access the underlying container of STL container adaptors?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2016-04-13
    相关资源
    最近更新 更多