首页 > 试题广场 >

在具有n个单元的顺序存储的循环队列中,假定front和rea

[单选题]
在具有n个单元的顺序存储的循环队列中,假定frontrear分别为队头指针和队尾指针,则判断队空的条件为________

  • rear%n= = front
  • front+l= rear
  • rear= = front
  • (rear+l)%n= front
判断队列是否为空的条件是队首指针和队尾指针是否指向同一位置。
循环队列另设一个标志位以区别队列是空还是满,少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列“满”状态的标志。即:
队空时: front=rear
队满时: (rear+1)%maxsize=front
这样就区别了当队空和队满时,front和rear都相等的情况
发表于 2019-03-08 16:21:47 回复(0)
rear是末位元素的下一个元素的下标,里面未存放数据,front是头元素的下标,当为顺序非循环队列数据是满的时候取出一个数据rear就向前移一位,一直这样移动到front的位置时此时所有数据都被取出,所以可以作为判空条件;但是如果是循环队列的话定住rear,然后不断插入数据front就会不断向前移动,因为是循环队列所以front总会移到rear后面直到最后和rear重合,此时该条件可以被判断为满了的条件
发表于 2017-08-14 23:08:55 回复(3)
应该选b
发表于 2019-06-05 18:01:44 回复(0)
队空时: front=rear
队满时: (rear+1)%maxsize=front
发表于 2019-05-10 15:33:48 回复(0)
我发现这里的有关队列的题目总是这个类型
发表于 2018-12-25 20:17:58 回复(0)
队空:rear=front     队满:(rear+1)%n=front
发表于 2018-09-28 13:26:53 回复(0)