队列的概念和结构
队列的概念
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。队列遵守先进先出FIFO(First In First Out)的原则
入队列:队列的插入操作叫做入队列,进行插入操作的一端称为队尾
出队列:队列的删除操作叫做出队列,进行删除操作的一端称为队头

溢出问题
下溢出:当队列为空时,强行出队所导致的溢出
上溢出:满队列时,继续入队所产生的溢出
队列的定义
使用队列先添加头文件
#include<iostream>
定义格式:
queue<数据类型> 队列名;
queue<int> q;
队列的基本操作
push(x):将元素x插入到队列的末尾
pop():删除队列的队首元素
front():查询队列的队首元素
back():查询队列的队尾元素
empty():查询队列是否为空,队列为空返回true,否则返回false
size():查询队列的元素个数
数组模拟队列
//使用一维数组模拟栈
int que[10] = {};
//head:标记队头元素位置
//tail:标记队尾元素下一个位置
int head = 0, tail = 0;
//队列内,没有数据时,对头指针和队尾指针指向同一个位置
队列的基本操作
//入队
que[tail] = x;
tail++;
//出队
head++;
//获取队首元素
que[head]
//获取队尾元素
que[tail - 1]
//获取队列长度
tail - head
//判断队列是否为空
head == tail
© 版权声明
THE END











暂无评论内容