【问题标题】:Vectors to Priority_queue in STL c++STL c ++中到Priority_queue的向量
【发布时间】:2021-09-26 08:02:42
【问题描述】:

如何将向量 v 转换为 priority_queue pq? 就像我们可以做的那样-

for(int i=0;i<(int)v.size();i++) pq.push(v[i]);

但是有没有可能让它更简短更简洁?

【问题讨论】:

  • 无关:为i 使用适当的类型不是更好吗?
  • A good C++ reference 可能会有所帮助。

标签: c++ vector stl priority-queue


【解决方案1】:
priority_queue<int>pq(begin(stones),end(stones));

【讨论】:

    【解决方案2】:

    如果你使用vector作为内部容器(这是默认的),那么你可以简单地使用下面的构造函数:

    template< class Alloc > 
    priority_queue( const Compare& compare, const Container& cont,
                    const Alloc& alloc );
    

    否则,您可以使用接受一对迭代器的构造函数:

    template< class InputIt >
    priority_queue( InputIt first, InputIt last,
                    const Compare& compare = Compare(),
                    Container&& cont = Container() );
    

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      相关资源
      最近更新 更多