题目详情

设某循环队列Q的定义中有front和rear两个域变量,其中,front指示队头元素的位置,rear指示队尾元素之后的位置,如下图所示。若该队列的容量为M,则其长度为(  )。

中级软件设计师,历年真题,2015年上半年(上午)《软件设计师》真题

  • A.(Q.rear-Q.front+1)
  • B.(Q.rear-Q.front+M)
  • C.(Q.rear-Q.front+1)%M
  • D.(Q.rear-Q.front+M)%M

正确答案及解析

正确答案
D
解析

本题考查循环队列长度的求取。

根据图示,可以得到长度(Q.rear-Q.front+M),但在此不容忽视的一个问题是,循环队列在进行了多次入队出队操作之后,可能出现超出队列长度溢出的情况,因此需要让其与M进行求模操作,修正位置,故(Q.rear-Q.front+M)%M为队列中的元素个数(即队列长度)。

包含此试题的试卷

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +