#P1875. 栈和队列训练题.2

栈和队列训练题.2

  1. 有 A B C 三辆列车顺序进入栈式结构的站台,问这三辆车开出站台的序列有多少种( )。{{ input(1) }}

补充说明:应该要能在纸上写出所有的情况。应该分类列举,按照第一辆出站列车为进行第一层分类。

  1. 某堆栈的输入序列是 a,b,c,d 则下列序列中不可能是它的输出序列的是( )。{{ select(2) }}
  • a,c,b,d
  • b,c,d,a
  • c,d,b,a
  • d,c,a,b
  1. 一个栈的输入序列为 1,2,3...n,若输出序列的第一个元素是 n,则输出的第 i 个元素是( )。{{ select(3) }}
  • 不确定
  • n-i+1
  • i
  • n-i
  1. 输入序列为 ABC,要变为 CBA,经过的栈操作为( ){{ select(4) }}
  • push, pop, push, pop, push, pop
  • push, push, push, pop, pop, pop
  • push, push, pop, pop, push, pop
  • push, pop, push, push, pop, pop
  1. 一个栈的输入序列为 1,2,3,...n,若输出序列的第一个元素是 i ,则输出的第 j 个元素是 ( )。{{ select(5) }}
  • i-j-1
  • i-j
  • i-j+1
  • 不确定
  1. 在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front 和 rear 分别为队首和队尾指针,他们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储量为 maxSize,则队列的判满条件是( ){{ select(6) }}
  • front=rear
  • front=(rear-front+1)%maxSize
  • front=rear+1
  • front=(rear+1)%maxSize
  1. 3.假设以 I 和 O 分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,可以操作的序列称为合法序列,否则称为非法序列。下面所示的序列中哪些是合法的? {{ select(7) }}
  • IOIIOIOO
  • IOOIOIIO
  • IIIOIOIO
  • IIOOIOO
  1. ( )不是栈的基本操作{{ select(8) }}
  • 删除栈顶元素
  • 删除栈底元素
  • 判断栈是否为空
  • 将栈置为空栈
  1. 对于栈操作数据的原则是( ) {{ select(9) }}
  • 不分顺序
  • 先进先出
  • 后进先出
  • 后进后出
  1. 对于队列操作数据的原则是( ) {{ select(10) }}
  • 不分顺序
  • 先进先出
  • 后进先出
  • 先进后出