数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,

题目

数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

  • A、r-f
  • B、(n+f-r)%n
  • C、n+r-f
  • D、(n+r-f)%n
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

数组Q[0,n-1]作为一个环形队列,f为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,队列中元素的个数是

A.r-f

B.n+f-r

C.n+r-f

D.(n+r-f)mod n


正确答案:D

第2题:

数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

A.r-f

B、(n+f-r)%n

C、n+r-f

D、(n+r-f)%n


参考答案:D
解释:对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(本题为n),然后与MAXSIZE(本题为n)求余,即(n+r-f)%n。

第3题:

设循环队列用C语言数组A[m]表示,front指针指向真正队头的前一个位置,rear指针指向真正队尾,队列中当前元素个数为n,则(1)若已知front、rear,则n=()。(2)若已知front、n,则rear=()。(3)若已知rear、n,则front=()。


参考答案:n=(rear-front+m)%mrear=(front+n)%mfront=(rear-n+m)%m

第4题:

数组Q[0...n-1]作为一个环形队列,f为当前队头元素的前一位置,r为队尾元素的位置,则队列中元素个数的计算公式是 ______。

A.r-f

B.n+f-r

C.n+r-f

D.(n+r-f)mod n


正确答案:D

第5题:

设循环队列中数组的下标是0~N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为()。

A.r-f

B.r-f-1

C.(r-f)%N+1

D.(r-f+N)%N


参考答案:D

第6题:

若循环队列以数组Q[0...m-1]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是______。

A.rear-length

B.(rear-length+m)mod m

C.(1+rear+m-length)mod m

D.m-length


正确答案:C
解析:根据循环队列的定义,因为元素移动按照rear=(rear+1)mod m进行,则当数组 Q[m-1]存放了元素之后,下一个入队的元素将存放到Q[0],因此,队列首元素的实际位置是(rear+1-length+m)mod m。

第7题:

数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为

A. r-f

B. (n+f-r)% n

C. n+r-f

D. (n+r-f)% n


正确答案:D

第8题:

设有一个用数组Q[1.. m]表示的环形队列,约定f为当前队头元素在数组中的位置,r为队尾元素的后一个位置(按顺时针方向),若队列非空,则计算队列中元素个数的公式应为(29)。

A.r-f

B.(m+r-f)mod m

C.(m-r+f)mod m

D.(m-r-f)mod m


正确答案:B
解析:本题考查循环队列性质。题目中告诉我们,循环队列中存放元素的空间为m,其头尾指针分别是f和r-1(r为队尾的后一个位置),那么当前队列中的元素个数的计算公式应该是(r-f+m)%m。

第9题:

数组Q[0,1,2,…,n]用来表示一个循环队列,f为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的总个数小于n,计算队列中元素个数的公式为______。

A.r-f

B. n+f-r

C. n+r-f

D. (n+r-f)mod n


正确答案:D
解析: 参见循环队列的定义和性质。

第10题:

假设以数组A[n]存放循环队列的元素,其头指针front指向队头元素的前一个位置、尾指针rear指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为 ( )

A.rear==front

B.(front+1)%n==rear

C.rear+1==front

D.(rear+1)%n==front


正确答案:D
解析:在循环队列中,在少用一个元素空间的前提下,可约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满。

更多相关问题