令序列 X、Y、Z 的每个元素都按顺序进栈,且每个元素进栈和出栈仅一次。则不可能得到的出栈序列是 ( )。 A.X Y Z B. X Z Y C. Z X Y D. Y Z X
解题核心:栈的「先进后出(LIFO)」特性 + 出栈序列模拟验证
栈的核心规则是 “先进入的元素后出栈”,题目中进栈顺序固定为X→Y→Z(元素按顺序进栈,中间可穿插出栈操作,但进栈先后顺序不可颠倒)。解题关键是逐一模拟每个选项的进出栈过程,判断是否符合规则。
步骤 1:明确约束条件
- 进栈顺序:必须满足 X 先于 Y 进栈,Y 先于 Z 进栈(“按顺序进栈” 指进栈先后顺序固定,非连续进栈);
- 操作限制:每个元素进栈、出栈各一次,无重复操作。
步骤 2:逐一模拟选项(√可行,× 不可行)
选项 A:X Y Z(√)
模拟过程:X 进栈 → X 出栈 → Y 进栈 → Y 出栈 → Z 进栈 → Z 出栈完全符合先进后出,可行。
选项 B:X Z Y(√)
模拟过程:X 进栈 → X 出栈 → Y 进栈 → Z 进栈 → Z 出栈 → Y 出栈Y 先于 Z 进栈,Z 先出栈(符合 LIFO),再 Y 出栈,可行。
选项 C:Z X Y(×)
要让 Z 第一个出栈,必须先将 X、Y、Z 全部进栈(因为 Z 是最后进栈的,需先完成 X→Y→Z 连续进栈,才能让 Z 成为栈顶并出栈):第一步:X 进栈 → Y 进栈 → Z 进栈 → Z 出栈(此时栈内剩余 Y(栈顶)、X(栈底));第二步:要出 X,必须先出栈顶的 Y(栈的 LIFO 特性),无法直接跳过 Y 出 X;无论调整进出栈顺序(如 X 进→X 出→Y 进→Z 进→Z 出,此时栈内仅 Y,无法出 X),均无法得到 “Z X Y”,不可行。
选项 D:Y Z X(√)
模拟过程:X 进栈 → Y 进栈 → Y 出栈 → Z 进栈 → Z 出栈 → X 出栈Y 先于 Z 进栈,Z 先出栈,最后 X 出栈,符合 LIFO,可行。
步骤 3:结论
只有选项 C 无法通过合法的进出栈操作实现。
最终答案
C