模拟卷 数据结构 入栈出栈序列 选择题
第 2 题

若已知一个栈的入栈序列是 1,2,3,4。其出栈序列为 p1,p2,p3,p4,则 p2,p4 不可能是( )。

A. 2、4 B. 2、1 C. 4、3 D. 3、4

入栈出栈序列

[tag_link]

正确答案:C

栈的入栈序列为 1,2,3,4,出栈序列需符合栈的后进先出规则。 通过分析所有可能的出栈序列(共 14 种),并检查各选项中 p2(第二个出栈元素)和 p4(第四个出栈元素)的组合是否存在合法的序列对应。

  • 选项 A(2、4):存在合法序列如 1,2,3,4,其中 p2=2、p4=4,故可能。
  • 选项 B(2、1):存在合法序列如 3,2,4,1,其中 p2=2、p4=1,故可能。
  • 选项 C(4、3):不存在任何合法出栈序列同时满足 p2=4 且 p4=3。 例如,序列 1,4,2,3 看似满足,但实际上不合法,因为在出栈 4 后,栈中剩余 2 和 3 且 3 在栈顶,必须优先出栈 3,无法直接出栈 2,因此无法实现 p4=3。
  • 选项 D(3、4):存在合法序列如 1,3,2,4,其中 p2=3、p4=4,故可能。

综上,p2、p4 不可能是 4、3,对应选项 C。