单选题

在由n个单元组成的顺序存储的循环队列sq中,假定f和r分别为队头指针和队尾指针,则判断队满的条件是()

Af == (r十1)%n

B(r-1)%n == f

Cf == r

D(f+1)%n == r

正确答案

来源:www.examk.com

答案解析

在由n个单元组成的循环队列sq中,因为出队和入队分别要将头指针f和尾指针r在循环意义下加1,所以某一元素出队后,若头指针已从前面追上尾指针,即sq->f = sq->r,则当前队列为空:若某一元素入队后,尾指针已从后面追上头指针,即sq->r = sq->f,则当前队列为满。可见,仅凭等式sq->r = sq->f是无法区别循环队列是空还是满的。为了区分队空、队满的条件,采用下面的方法:入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为是队满,即判别队满的条件是:(sq->r+1)%n == sq->f。从而也保证了sq->r = sq->f是队空的判别条件。注意:队满条件使得循环队列中,始终有一个元素的空间(即队头指针指示的结点)是空的,即有n个单元组成的循环队列只能表示长度不超过n-1的队列。
相似试题
  • 若循环队列有 n个顺序存储单元,front、rear分别为队首和队尾元素的下标,front指向队首元素之前的一个位置,为则判断队满的条件是()。

    单选题查看答案

  • 若循环队列有 n个顺序存储单元,front、rear分别为队首和队尾元素的下标,front指向队首元素之前的一个位置,为则判断队空的条件是()。

    单选题查看答案

  • 当利用大小为N的数组存储顺序循环队列时,该队列的最大长度为()

    单选题查看答案

  • 当利用大小为n的数组循环顺序存储一个队列时,该队列的最大长度为()

    单选题查看答案

  • 当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为()

    单选题查看答案

  • 在具有n个单元的循环队列中,队满时共有()个元素。

    填空题查看答案

  • 设SQ是循环队列,存储在数组D[M]中,则SQ入队操作对其队尾指针rear的修改是()。

    填空题查看答案

  • 假定一个顺序循环队列存储于数组a[n]中,其队首和队尾指针分别用front和rear表示,则判断队满的条件为()

    单选题查看答案

  • 假定一个顺序循环队列存储于数组A[n]中,其队首和队尾指针分别用front和rear表示,则判断队满的条件是()

    单选题查看答案