普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。

头文件:#include<queue>

操作:

  • top 访问队头
  • empty 队列是否为空
  • size 返回队列元素个数
  • push 插入元素到队尾
  • pop 弹出队头
  • swap 交换内容

定义:

 1 /*
 2 Type 数据类型
 3 Container 容器类型(必须是vector,deque等数组实现的容器)
 4 Functional 比较方式
 5 */
 6 priority_queue<Type, Container, Functional>
 7 
 8 //实例
 9 //升序队列
10 priority_queue <int,vector<int>,greater<int> > q;
11 //降序队列
12 priority_queue <int,vector<int>,less<int> >q;
13 
14 //greater和less是std实现的两个仿函数(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了)

 

posted on 2020-07-20 13:04  青墨客  阅读(887)  评论(0)    收藏  举报