一、队列
(1)定义
队列(队)是一种数据结构。它是一种只能在两端进行操作的线性表,按照先进先出(FIFO)的原则储存数据
(2)队列的操作(数组模拟)
队的常见操作(以顺序存储为例)用数组queue【M】来代替队,M为容量,head是队头,tail是队尾
队头队尾位置:head指向队头位置,tail指向队尾的下一个位置
队空:head = tail
队满:tail = M
入队:queue[tail] = x; tail++
出队:head++
二、queue
(1)基础
1.添加头文件
#include<queue>//将stl队列包括到程序里
2.定义队列
queue<int> q;//声明管理一个int类型的队列
3.队的常见操作
q.empty()//如果队列为空返回TRUE,否则返回false
q.size()//返回队列中元素的个数
q.pop()//弹出队首元素
q.front()//返回队首元素的值
q.push(x)//在队尾压入新元素x
q.back()//返回队尾元素的值
(2)示例
#include<iostream>
#include<queue>
using namespace std;
queue<int> q;
int main(){
q.push("red");
q.push("yellow");
q.push("blue");
q.push("green");
while(!q.empty()){
cout<<q.front<<" ";
q.pop()
}
}