[https://www.youtube.com/watch?v=_FaF4MBVE1A:embed:cite]
本视频将从2025年度基本资讯技术员考试科目B公开试题中,彻底讲解第3题“执行栈结构的 push 与 pop 的函数”。本题以算法与程式设计中高频出现的数据结构——栈(Stack)为题材,考查考生对 LIFO(后进先出)原理的理解,以及利用数组实现基本栈操作的能力。 本题提供了一个包含 4 个元素的全域变量 stack(整数数组),以及一个指示“下一个要存放值的位置”的全域变量 stackPos。由于数组的起始元素编号从 1 开始,这是本题的特点之一。根据这一规格,我们将逐步追踪 push 与 pop 的正确行为,并确定应填入空格 a 与 b 的表达式。 首先在 push 操作中,stackPos 指向的正是“下一个要放置值的位置”,因此在数组 stack 中,应使用 stackPos 作为索引来存放新值。存放完毕后,将 stackPos 增加 1,以更新下一次加入元素时应存储的位置。 另一方面,在 pop 操作中,由于栈的结构要求“取出最后放入的值”,而 stackPos 指向的并不是当前最后一个值,而是“下一次放置的位置”。因此,实际应取出的值在 stackPos − 1 的位置。为了正确取出该值,需要在取值前先将 stackPos 减 1,然后引用该位置的元素。 基于以上分析,本题在空格 a 和空格 b 中应填入的正确组合是“イ”。理解栈的运作方式与数组索引之间的关系,是读懂整个程序行为的关键。 牢固掌握栈这种基本数据结构的运作,将大幅提升应对科目B相关题目的能力。希望本视频能帮助你扎实掌握数据结构的基础知识。