#CSPJ26D16. 2026 年 8 月 CSP-J 初赛 22 日打卡 Day16|栈与队列经典模型

2026 年 8 月 CSP-J 初赛 22 日打卡 Day16|栈与队列经典模型

Day 16 栈与队列经典模型:从循环队列到波兰式

建议用时:15~25 分钟。请先阅读知识点讲解,再完成下方客观题;直接勾选答案后提交,系统会自动判分。

知识点讲解

Day 16 栈与队列经典模型:从循环队列到波兰式

答案解析

Day 16 栈与队列经典模型:从循环队列到波兰式

客观题(共 10 题)

请在每题下方直接选择答案。判断题选择“正确”或“错误”,全部完成后统一提交。

第 1 题

对一个空栈依次执行 push(1), push(2), pop(), push(3), push(4), pop() 后,栈顶元素是( )。

{{ select(1) }}

  • 1
  • 2
  • 3
  • 4

第 2 题

下列关于 C++ STL 中 stack 与 queue 的说法, 错误 的是( )。

{{ select(2) }}

  • stack 用 top() 查看栈顶,queue 用 front() 查看队首
  • 两者的 pop() 都只删除元素,不返回被删除的元素值
  • queue 可以用 q.top() 查看队首元素
  • priority_queue 默认是大根堆,top() 返回当前最大的元素

第 3 题

一个容量 maxsize = 8 的循环队列,front 指向队首元素、rear 指向队尾元素的下一个位置。若当前 front = 6,rear = 2,则队列中的元素个数是( )。

{{ select(3) }}

  • 2
  • 4
  • 6
  • 8

第 4 题

沿用第 3 题的约定,容量为 maxsize 的循环队列判定「队满」的条件是( )。

{{ select(4) }}

  • rear == front
  • rear == maxsize - 1
  • (rear + 1) % maxsize == front
  • (front + 1) % maxsize == rear

第 5 题

元素 1, 2, 3, 4 按此顺序依次入栈,中途可以任意出栈,则下列 不可能 成为出栈序列的是( )。

{{ select(5) }}

  • 1, 4, 3, 2
  • 2, 4, 3, 1
  • 4, 1, 2, 3
  • 3, 4, 2, 1

第 6 题

【CSP-J 2024 初赛·第 13 题】给定一个空栈,支持入栈和出栈操作。若入栈操作的元素依次是 1 2 3 4 5 6(1 最先入栈,6 最后入栈),下面哪种出栈顺序是不可能的( )。

{{ select(6) }}

  • 6 5 4 3 2 1
  • 1 6 5 4 3 2
  • 2 4 6 5 3 1
  • 1 3 5 2 4 6

第 7 题

【CSP-J 2021 初赛】表达式 (a * (b + c) * d) 的后缀表达式为( ),其中 * 和 + 是运算符。

{{ select(7) }}

  • **a+bcd
  • abc+*d*
  • abc+d**
  • *a*+bcd

第 8 题

表达式 a + b * (c - d) 的前缀表达式为( )。

{{ select(8) }}

  • + a * b - c d
  • + a * b c - d
  • + * a b - c d
  • * + a b - c d

第 9 题

后缀表达式 9 2 3 * - 4 2 / + 的值是( )。

{{ select(9) }}

  • −1
  • 1
  • 5
  • 11

第 10 题

前缀表达式 - * + 3 4 2 5 的值是( )。

{{ select(10) }}

  • −9
  • 1
  • 9
  • 14