首页 > 试题广场 >

假设以数组A[60]存放循环队列的元素,其头指针是front

[单选题]
假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()
  • 3
  • 37
  • 97
  • 50
 队列中元素的个数: (rear-front+QueueSize)%QueueSize

根据题意得:(rear - 47  + 60)% 60 = 50

=>    rear = 37   选B

至于答案选项中还有个97,纯属瞎扯。
发表于 2016-08-25 09:28:47 回复(5)
选B
(47+50)mod 60=37
发表于 2015-11-25 16:37:01 回复(0)
(rear-47+60)%60=50
解得rear=37
发表于 2016-06-08 10:39:11 回复(0)
                                    队空                                          队满                                                有效个数
数组队列                  font == rear                      rear == maxSize - 1                                    rear - font

环路队列                  font == rear              (rear + 1) % maxSize == font           (rear + maxSize) % maxSize == font
发表于 2020-03-26 18:36:22 回复(0)
m=(r-f+n)%n,其中m为队列中元素的个数,r为队尾元素的位置,f为队首元素的位置,n为总的元素个数。 带入数据 50=(r-47+60)%60 50=(r+13)%60 根据模运算我们知道 r+13=60k+50,其中k为整数 所以k为0时,r为37,此时刚好在数组中,没有越界。
发表于 2017-09-12 15:21:12 回复(0)

循环对列的尾指针指向尾结点的下一个位置

发表于 2017-03-30 17:03:08 回复(0)
(rear-front+maxlength)%maxlength = currentNums

发表于 2016-08-29 18:18:40 回复(1)
(rear+queueSize-front)%queueSize=queueCount
发表于 2024-07-09 08:02:59 回复(0)
根据公式当前元素个数为(rear-front+MaxSize)%MaxSize 得到(rear-47+60)%60=50,所以rear=37
发表于 2017-06-13 19:18:46 回复(0)
队列中元素的个数: (rear-front+MAX)%MAX
发表于 2017-02-23 09:12:21 回复(0)
(m+r-f )mod 60 =50
r = 50+f-m=50+47-60=37
编辑于 2016-07-25 10:08:14 回复(0)
mod 60 而不是 - 60
发表于 2016-04-22 10:05:08 回复(0)