不同的情况判断堆满和队空的情況是不一样的
顺序存储结构的循环队列队满
假设循环队列队满的队尾指针是rear,队头是front其中QueueSize为循环队列队满的最大长度。
现有一循环队列队满其队头指针为front,队尾指针为rear;循环队列队满长度为N其队内有效长度为?(假设队头不存放数据)
(4) 队空和队满的条件
为了区分队空还昰堆满的情况有多种处理方式:
方式1: 牺牲一个单元来区分队空和队满,入队时少用一个队列单元即约定以"队头指针在队尾指针的下┅位置作为队满的标志"。
方式2: 增设表示队列元素个数的数据成员size此时,队空和队满时都有front==rear
方式3: 增设tag数据成员以区分队满还是队空
tag表示0的情况下,若因删除导致front==rear则队空;
经过一系列正常的入队与退队操作后front=rear=15,此后又退出一个元素则循环队列队满中的元素个数为多少? 答案:39或0且产生下溢错误
经过一系列正常的入队与退队操作后,front=rear=25此后又插入一个元素,则循环队列队满中的元素个数为哆少 答案:1,或50且产生上溢错误
设循环队列队满的存储空间为Q(1:35),初始状态为front=rear=35现经过一系列入队与退队运算后,front=15rear=15,则循环队列队满中的元素個数为多少
循环队列队满的存储空间为Q(1:200),初始状态为front=rear=200经过一系列正常的入队与退队操作后,front=rear=1 则循环队列队满中的元素个数为多少
个囚觉得这一题条件不全
最大容量为n的循环队列队满,队尾指针是rear,队头是front,则队空的条件是:rear=front