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

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

Day 16 栈与队列经典模型

建议用时:15~25 分钟。请先完成自主学习,再独立提交本页答案。

今日学习资料

学习目标:完成当天知识点阅读与易错清单自查,然后作答下方选择题。

今日练习

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

{{ select(1) }}

  • 1
  • 2
  • 3
  • 4
  1. 下列关于 C++ STL 中 stackqueue 的说法, 错误 的是( )。

{{ select(2) }}

  • stacktop() 查看栈顶,queuefront() 查看队首
  • 两者的 pop() 都只删除元素,不返回被删除的元素值
  • queue 可以用 q.top() 查看队首元素
  • priority_queue 默认是大根堆,top() 返回当前最大的元素
  1. 一个容量 maxsize = 8 的循环队列,front 指向队首元素、rear 指向队尾元素的下一个位置。若当前 front = 6rear = 2,则队列中的元素个数是( )。

{{ select(3) }}

  • 2
  • 4
  • 6
  • 8
  1. 沿用第 3 题的约定,容量为 maxsize 的循环队列判定「队满」的条件是( )。

{{ select(4) }}

  • rear == front
  • rear == maxsize - 1
  • (rear + 1) % maxsize == front
  • (front + 1) % maxsize == rear
  1. 元素 1, 2, 3, 4 按此顺序依次入栈,中途可以任意出栈,则下列 不可能 成为出栈序列的是( )。

{{ select(5) }}

  • 1, 4, 3, 2
  • 2, 4, 3, 1
  • 4, 1, 2, 3
  • 3, 4, 2, 1
  1. 【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
  1. 【CSP-J 2021 初赛】表达式 (a * (b + c) * d) 的后缀表达式为( ),其中 *+ 是运算符。

{{ select(7) }}

  • **a+bcd
  • abc+*d*
  • abc+d**
  • *a*+bcd
  1. 表达式 a + b * (c - d) 的前缀表达式为( )。

{{ select(8) }}

  • + a * b - c d
  • + a * b c - d
  • + * a b - c d
  • * + a b - c d
  1. 后缀表达式 9 2 3 * - 4 2 / + 的值是( )。

{{ select(9) }}

  • −1
  • 1
  • 5
  • 11
  1. 前缀表达式 - * + 3 4 2 5 的值是( )。

{{ select(10) }}

  • −9
  • 1
  • 9
  • 14