std :: priority_queue <int,std :: vector <int =“”>,std :: greater <int>&gt;在min_heap函数中

时间:2015-12-05 08:08:28

标签: c++ priority-queue

在下面的行中,矢量用于参数列表

std::priority_queue<int, std::vector<int>, std::greater<int> >

的问题:

  1. 使用vector的目的是什么?
  2. 是用于制作优先级队列的向量吗?
  3. 我们可以使用除vector之外的任何其他东西吗?

1 个答案:

答案 0 :(得分:0)

std::vector是用于实现优先级队列的基础容器。

您可以使用任何容器类型,给定以下约束(来自http://en.cppreference.com/w/cpp/container/priority_queue):

  

容器必须满足SequenceContainer的要求,并且   它的迭代器必须满足RandomAccessIterator的要求。

     

此外,它必须提供通常的以下功能   语义:

     

前()

     

的push_back()

     

pop_back()

     

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