一、定义
queue队列只允许在一端进行插入数据操作,在另一端进行删除操作。
二、分类
1.顺序队列
实现方式一:对头不动,出栈的时候对头后的所有元素向后移动。
实现方式二:出队列时,对头向后移动一个位置。
第二种顺序队列会出现一种“假溢出”的行为——队列中还有存储空间,但是已经不能再入队了。
2.循环队列:解决假溢出的方法就是使用循环队列,即头尾相接
队列的判空判满的方法:
A.少用一个存储单元:满的条件——(rear+1)%size==front;空的条件——rear==front
B.设置一个标记位:满的条件——rear==front&&flag==1;空的条件——rear==fr