我正在学习使用STL的优先级队列。我在代码中看到了这个陈述。使用STL在C++中创建优先级队列
priority_queue<node*,vector<node*>,compare> minHeap;
这里,node
和compare
定义如下:
struct node{
char c;
int f;
struct node *left;
struct node *right;
};
class compare{
public:
bool operator()(node *l,node *r)
{
return (*l).f>(*r).f;
}
};
现在,我想知道是什么的第一条语句是什么意思? (即priority_queue.....
)
我知道它声明了优先级队列,但传递给它的参数究竟意味着什么呢?
HTTP ://www.cplusplus.com/reference/queue/priority_queue/ –
您可以查看[en.cppreference](http://en.cppreference.com/w/cpp/container/priority_queue)或[www.cplusplus。 COM](http://www.cplusplus.com/reference/queue/priority_queue/)。 – Jarod42
你看过[参考资料](http://en.cppreference.com/w/cpp/container/priority_queue)吗?第一个是元素类型,第二个是底层容器,第三个是用于比较元素优先级的函数类型。 –