c++ STL queue:deque+优先队列
2020-12-13 16:36
标签:pac 元素 ack 文件 优先队列 顺序 size int 先进先出 c++ STL queue:deque+优先队列 标签:pac 元素 ack 文件 优先队列 顺序 size int 先进先出 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11620901.html
容器类型是可选的,默认为deque队列 类型。
一:定义queue(要有头文件#include
queue
二:基本函数
back()返回一个引用,指向队列的最后一个元素。
empty()函数返回真(true)如果队列为空,否则返回假(false)。
front()返回队列第一个元素的引用。
pop()函数删除队列的一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数
#include
using namespace std;
int main(){
int e,n,m;
queue
for(int i=0;i q1.push(i);
if(!q1.empty())
cout n=q1.size();
cout m=q1.back();
cout for(int j=0;j
cout q1.pop(); }
cout if(q1.empty())
cout system("PAUSE");
return 0;}
优先队列
优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。
但是它有一个特性,就是队列中最大的元素总是位于队首,
所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。
这点类似于给队列里的元素进行了由大到小的顺序排序。
元素的比较规则默认按元素值由大到小排序,可以重载“定义类型:与普通队列一样
基本操作:
empty() 如果队列为空,则返回真
pop() 删除对顶元素,删除第一个元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素,返回优先队列中有最高优先级的元素