[英]Vectors to Priority_queue in STL c++
如何将向量 v 转换为 priority_queue pq? 就像我们可以做的那样-
for(int i=0;i<(int)v.size();i++) pq.push(v[i]);
但是有没有可能让它更短更简洁?
priority_queue<int>pq(begin(stones),end(stones));
如果您使用 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() );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.