1.队列的定义
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
2.什么叫“假溢出”?
数组中任存在没有被用到的元素,而尾指针已经指到最后
3.怎么解决“假溢出”?
使用循环队列
4.怎么判断队列是空队列还是满队列?
(1)设置标志变量flag
(2)规定队列为满时,保留一个空闲单元
5.队列满的条件
(rear+1)% queuesize == front
6.队列计算长度公式
(rear - front +queuesize)%queuesize
7.队列的链式存储结构
队头指针指向链队列的头结点,队尾指针指向终端节点
8.队列的出队操作
头结点的后继结点出队,将头结点的后继改为它后面的结点,若链表除头结点外只剩一个元素时,将rear指向头结点
9.循环队列和链队列的使用
可以确定队列长度最大值时,用循环队列,不能确定队列长度时用链队列
10.怎么解决栈和队列用顺序存储存在的一些弊端?
对于栈来说,如果是两个相同数据类型的栈,则可以用数组的两端作栈底来让两个栈共享数据
对于队列来说,可以用循环队列来使队头和队尾在数组中循环变化