队列
队列是一种特殊的线性表,支持先进先出。
对头:获取数据的一端叫对头;
队尾:插入数据的一端叫队尾。
我们可以用一个现实生活中的例子来理解队列:我们在排队的时候,都是从前往后排,先来的人站在队伍的前面,后来的人就只能站在队伍的最后面。队伍在前进的时候,也是队伍前面的人先走,后面的人跟着向前。这就是先来的先走(先进先出),先走的(获取数据)一端叫对头,新进来排队的人所在的一端(插入数据)叫队尾。
依然喜欢结合图来解释知识点:
队列图解.png
正是因为队列存在假溢出的现象,使队列不能充分利用,所以出现了循环队列。
循环队列
把队列的这种头尾相连的存储结构被称为循环队列。
空队列,满队列,队列元素个数的判读依据:
假设循环队列总容量为N,并且预留一个空的位置作为队列空,满,长度判断的标志:
队列空:front==rear;
队列满:(rear+1)%N==front;
队列元素个数:(rear – front + N)%N
网友评论