一个栈的入栈元素序列是1、2、3、4、5,若允许出栈操作可在任意可能的时刻进行,则下面的序列中,不可能出现的出栈序列是( )。

admin2019-06-12  25

问题 一个栈的入栈元素序列是1、2、3、4、5,若允许出栈操作可在任意可能的时刻进行,则下面的序列中,不可能出现的出栈序列是(    )。

选项 A、3、4、2、5、1
B、2、5、4、1、3
C、2、3、1、5、4
D、3、5、4、2、1

答案B

解析 栈的特点是先进后出,按照以下步骤可以很快找到答案:
    (1)选择出栈序列的第一个元素a,入栈序列中在a之前的元素必须按照逆序出现在出栈序列中,如果不按照逆序出栈,则此出栈序列不合法,否则执行下一步。
    (2)从入栈序列和出栈序列中将元素a删除,如果删除a后出栈序列为空,则说明此出栈序列合法,否则回到上一步继续执行。
    在本题中,B选项的第一个出栈元素为2,在2之前入栈的元素的为1,由于只有一个元素,故无论如何将会逆序出栈;在序列中剔除2,则入栈序列为1、3、4、5,出栈序列变为5、4、1、3。分析元素5,在新的入栈序列中,5之前的元素入栈序列为1、3、4,而出栈序列为4、1、3,不满足逆序出栈的条件,所以选项B是不可能出现的出栈序列。
转载请注明原文地址:https://kaotiyun.com/show/KzCZ777K
0

最新回复(0)