队列(queue)和优先队列(priority_queue)
Posted sunjianzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列(queue)和优先队列(priority_queue)相关的知识,希望对你有一定的参考价值。
队列:先进先出
头文件:<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)的主要内容,如果未能解决你的问题,请参考以下文章