首页 > 其他 > 详细

队列(queue)和优先队列(priority_queue)

时间:2020-07-31 12:35:17      阅读:176      评论:0      收藏:0      [点我收藏+]

队列:先进先出

头文件:<queue>

基本操作

queue<Type>q;   //定义队列,Type可以系统定义的数据类型,也可以是自己定义的结构体类型

q.push(item);       //把item放入队列的尾部

q.front();   //返回队首元素,但不会删除

q.pop();    //删除队首元素

q.back();  //返回队尾元素

q.size();    //返回元素个数

q.empty();   //检查队列是否为空

 

优先队列 :按照权值进行队列排序

头文件:<queue>

基本操作:

priority_queue<Type,vector<Type>,greater<Type> >q; //队首元素最小。 若是自定义结构体,需要重载运算符>
priority_queue<Type,vector<Type>,less<Type> >q; //队首元素最大.。   若是自定义结构体,需要重载运算符<

bool operator >(struct node p,struct node q) {//无论是重载>还是重载<,下面的比较>都是从小到大排序,<都是从大到小排序
return p.x>q.x; // >号代表从小到大排序 (按照x排序)
}

q.top();   // 返回队头元素

q.empty();    //判断队列是否为空

q.size();   //返回队列内元素个数

q.push();    //插入元素到队尾 (并排序)

q.pop();   //删除队头元素

 

 

写于2020/7/31  11:58

队列(queue)和优先队列(priority_queue)

原文:https://www.cnblogs.com/sunjianzhao/p/13408925.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!