一、队列定义【尾进头出---先进先出】
二、循环队列:
定义:将顺序队列臆造为一个环状的空间,即把存储 队列元素的表从逻辑上视为一个环,称为循环队列。
出队入队时∶指针都按顺时针方向进1
为了区分是队空还是队满的情况,有三种处理方式∶
1)牺牲一个单元来区分队空和队满,入队时少用一个队列单元,这是一种较为普遍的做法,
约定以"队头指针在队尾指针的下一位置作为队满的标志",如图所示:
2)类型中增设表示元素个数的数据成员。这样,队空的条件为Q.size==0;队满的条件为
Q.size==MaxSize。这两种情况都有Q.front==Q.rear。
3)类型中增设 tag 数据成员,以区分是队满还是队空。tag 等于 0 时,若因删除导致
Q.front==Q.rear,则为队空;tag等于1时,若因插入导致Q.front==Q.rear,
则为队满
循环队列的操作
臥列的链式存储
队列的链式表示称为链队列,它实际上是一个
同时带有队头指针和队尾指针
的单链表。头指
针指向队头结点,尾指针指向队尾结点,即单链表的最后一个结点(注意与顺序存储的不同)。
双端队列
双端队列是指允许
两端都可以
进行入队和出队操作的队列
习题
答案:D
答案:C
分析:数组A[21]表示A数组中共有21个元素,而不是下标21
答案:B
答案:A
答案:C