priority_queue 优先队列,其底层是用堆来实现的。在优先队列中,队首元素一定是当前队列中优先级最高的那一个。在优先队列中,没有 front() 函数与 back() 函数,而只能通过 top() 函数来访问队首元素(也可称为堆顶元素),也就是优先级最高的元素。
priority_queue<int>q; // 默认从大到小排列
q.push(3);
q.top();
q.pop();
怎么设置元素的优先级?
priority_queue<Type, Container, Functional>
// 从小到大排序
priority_queue<int,vector<int>,greater<int>>q;
// 从大到小排序
priority_queue<int,vector<int>,less<int>>q;
网友评论