首页 > 试题广场 >

长度为SIZE的循环队列有对头指针F和队尾指针R,以下说法正

[单选题]
长度为SIZE的循环队列有对头指针F和队尾指针R,以下说法正确的有()
  • 循环队列在屋里存储上是首尾相接的圆环
  • 判断队空的条件是:F==R+1,判断队满的条件是:(R+1)%SIZE==F
  • 判断队空的条件是:F==R,判断队满的条件是:R%(SIZE+1)==F
  • 判断队空的条件是:F==R,判断队满的条件是:(R+1)%SIZE==F
推荐
选D。考察的是循环队列的相关概念。

  • 队列属于逻辑结构的概念,它们的物理存储既可以利用数组也可以利用链表完成,所以循环队列属于逻辑上首尾相接的抽象圆环,如上图所示。A错误。
  • 空队列头尾指针指向同一个区域(0区域),所以F==R满队列是随着元素的入队,尾指针逐渐加1,直到从0区域加到SIZE-1区域,这时尾指针指向SIZE-1区域,头指针指向0区域。判断队满的条件是尾指针再加1(由于是循环)所以头尾指针重合在0区域(R+1)%SIZE==F
编辑于 2019-07-11 14:08:25 回复(1)
循环队列另设一个标志位以区别队列是空还是满,少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列“满”状态的标志。即: 队空时: front=rear 队满时: (rear+1)%maxsize=front 这样就区别了当队空和队满时,front和rear都相等的情况
发表于 2022-01-12 10:48:23 回复(0)
A 题目有错别字 是说物理存储上构成一个闭环 但是实际上循环队列在逻辑存储上才是 区别在于物理和逻辑存储
发表于 2022-03-28 14:37:58 回复(0)
选D
首先A,循环队列是顺序存储,即用一组连续的存储单元依次存储,在上看成一个环,成为循环队列。
假设初始队空,则F和R都在某一相同位置上,而队列满时,若F在0号位置(地址序列最小的位置)上,则R一定在地址序列最大的位置(F+size-1)
若F在其他位置,则R一定在F-1位置上。经检验,只有D符合要求
发表于 2019-07-10 15:09:43 回复(1)
不明白A
发表于 2022-03-16 20:13:41 回复(0)