#JC1032. 栈

栈

一、单项选择题(每题2分,共20分)

1、栈的数据存取遵循的原则是?()。 {{ select(1) }}

  • 先进先出
  • 随机存取
  • 先进后出
  • 按大小排序存取

2、数组模拟栈,变量top的作用是?()。 {{ select(2) }}

  • 保存栈内元素总和
  • 记录栈顶的下标位置
  • 存储栈底元素
  • 统计入栈总数据的值

3、使用数组模拟栈,top等于0代表什么?()。 {{ select(3) }}

  • 栈满
  • 栈只有1个元素
  • 栈溢出
  • 栈空

4、栈的入栈push操作,执行顺序正确的是?()。 {{ select(4) }}

  • top--; a[top]=x;
  • top++; a[top]=x;
  • a[top]=x; top++;
  • a[top]=x; top--;

5、入栈序列为a b c d e,下面哪一个是不合法的出栈序列?()。 {{ select(5) }}

  • a b c d e
  • c d a e b
  • e d c b a
  • b a c d e

6、数组模拟栈,出栈pop操作核心代码是?()。 {{ select(6) }}

  • top++;
  • a[top]=0;
  • top--;
  • top = 5;

7、括号匹配问题中,遇到右括号时,如果此时栈为空,处理结果应该是?()。 {{ select(7) }}

  • 直接判定括号匹配错误
  • 右括号入栈
  • 直接判定括号匹配正确
  • 清空整个字符串

8、括号匹配全部处理完成后,满足什么条件代表括号完全匹配正确?()。 {{ select(8) }}

  • top > 0
  • top等于数组最大容量
  • top == 0
  • top等于字符串长度

9、小鱼的数字游戏,输入数字利用栈倒序输出,实现原理是?()。 {{ select(9) }}

  • 先进先出,边输入边输出
  • 栈自动反转数组
  • 先进后出,全部入栈后依次出栈输出
  • 栈对数据自动排序

10、栈进行清空操作,数组模拟时最简单的方式是?()。 {{ select(10) }}

  • 把数组每一个元素赋值为0
  • top++
  • top = 0;
  • 全部执行pop出栈函数

二、判断题(每题2分,共10分)

11、栈只能在栈顶一端进行存入和取出数据。() {{ select(11) }}

  • 正确
  • 错误

12、入栈序列固定时,出栈序列只有唯一一种可能性。() {{ select(12) }}

  • 正确
  • 错误

13、做入栈操作前,需要先判断栈是否已满,避免越界。() {{ select(13) }}

  • 正确
  • 错误

14、出栈操作时,如果栈已经为空,仍然可以执行top--,不会产生任何问题。() {{ select(14) }}

  • 正确
  • 错误

15、括号匹配:遇到左括号执行入栈,遇到匹配的右括号执行出栈。() {{ select(15) }}

  • 正确
  • 错误