特性
先进先出,允许再表的一端进行删除另一端进行插入运算。
STL方式
- 头文件
#include<queue>
- 定义
queue<int > q;//建立一个队列q,其内部元素类型是int;
- 函数
q,push(a);//将元素a插入到队列q的末尾/
q.pop();//删除队列q的队首元素。
q.front();//查询q的队首元素。
q.back();//查询q的队尾元素。
q.size();//查询q的元素个数。
q.empty();//查询q是否为空
手动队列
int queue[MAXN];//开辟队列所需要的数组空间,MAXN为队列的最大能入队元素的次数
int head=0;//队首指针。
int tail=0;//队尾指针,新元素插入位置。
各函数实现
void push(int x){//进队,需要判断是否溢出
if(tail>MAXN){
}else{
queue[tail]=x;tail+=1;
}
}
void pop(){//弹出队首元素,需要判断是否队列为空。
if(head==tail){
}else{
head+=1;
}
int front(){//查询队首元素,需要判断是否队列为空。
if(head==tail){
return -1;
}else{
return queue[head];
}
}
}
标签:head,队列,队首,元素,Queue,int,tail
From: https://www.cnblogs.com/sdlypsck/p/18005733