priority_queue第二个参数:容器对象

时间:2015-11-27 10:21:37

标签: c++ priority-queue

我知道priority_queue的第二个参数是一个容器(默认情况下它是vector)。但是如果我想使用queuelist作为底层容器呢?

struct compare {
    bool operator()(int&a,int&b) {
        return a > b;
    }
};

int main(int argc, char** argv) {
    std::priority_queue<int, queue<int> , compare >pq();
    return 0;
}

使用pq.push()时,它不起作用 那么priority_queue必须使用vector作为容器吗?或者我如何使用队列呢?

我非常感谢你的帮助。 Thanx很多。

1 个答案:

答案 0 :(得分:1)

从此reference

  

容器 - 用于存储元素的基础容器的类型。该   容器必须满足 SequenceContainer 的要求,并且其迭代器必须满足RandomAccessIterator的要求。   此外,它必须提供通常的以下功能   语义:

     
      
  • 前()
  •   
  • 的push_back()
  •   
  • pop_back()
  •   
     

标准容器 std :: vector std :: deque 满足这些   要求。