栈和队列-错题汇总

循环队列存储在数组A[0…n]中,则入队时的操作为()

  • A、rear=rear+1
  • B、rear=(rear+1)mod(n-1)
  • C、rear=(rear+1)modn
  • D、rear=(rear+1)mod(n+1)

正确答案:D,[0…n]的数组中有n+1个数

栈和队列具有相同的()

  • A、抽象数据类型
  • B、逻辑结构
  • C、存储结构
  • D、运算

正确答案:B

若一个栈的输入序列是1,2,3,…n,输出序列的第一个元素是n,则第i个输出元素是()

  • A、不确定
  • B、n-i
  • C、n-i-1
  • D、n-i+1

正确答案:D,跟另外一道题搞混了,输出第一个元素是n,说明所有元素都是按顺序入栈的,所以第i个输出元素是n-i+1

若已知一个栈的入找序列是1、2、3、4。其出栈序列为P1, P2, P3, P4.则P2 、P4不可能是()

  • A、2、4
  • B、2、1
  • C、4、3
  • D、3、4

正确答案:C,原来选了A,但只要11223344就能满足,C选项中4,3肯定是连续进出栈的,没有这个可能性

设栈的初始状态为空,当字符序列”n 1 _”作为栈的输入时,输出长度为3,且可用做C语言标识符的序列有()个

  • A、4
  • B、5
  • C、3
  • D、6

正确答案:C,数字也不能作为开头,所以原来计算的4还得-1

最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是( )。

  • A、(rear+1)%n==front
  • B、rear==front
  • C、rear+1==front
  • D、(rear-l)%n==front

正确答案:B。题目看错辽,队满才是(rear+1)%n==front。考试遇到这个的话随便拿个例子手推一下就行了。一般的情况是rear指向最后一个元素的后一个吧?

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒