niusouti.com
参考答案和解析
正确答案:C
解析:本题考查数据结构中栈的基本知识。
栈是操作受限的线性表,其特点是后进先出。应用中可将栈看作一个桶状的容器,当栈中有元素时,栈顶元素先出栈,栈为空时进行出栈操作是不正确的。因此,对于一个关于初始为空的栈的操作序列,要求序列中任何一个操作之前,入栈操作的次数要大于等于出栈操作的次数。题目选项中仅操作序列SXSXSSXX满足该要求。
更多“设初始栈为空,s表示入栈操作,x表示出栈操作,则(33)是合法的操作序列。A.sxxsssxxxB.xxssxxssC.sxs ”相关问题
  • 第1题:

    假设以S和X分别表示入栈和出栈操作,并且初始和终止时栈都为空,那么( )不是合法的操作序列。

    A.SSXXXSSXSX
    B.SSSXXXSSXX
    C.SSXSSXSXXX
    D.SXSXSXSXSX

    答案:A
    解析:
    栈是先进后出,在A选项中,SSXXX这里,先进入了两个元素,然后出栈3个,此时就会产生错误,因此是不合法的操作序列。

  • 第2题:

    已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列( )

    A.IIOIIOIOOO
    B.IOIOIOIOIO
    C.IOOIIOIOIO
    D.IIOOIOIOOO

    答案:A
    解析:

  • 第3题:

    【填空题】用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串序列为: 。


    SXSSXSXX SXSSXSXX

  • 第4题:

    用s表示入栈操作,*表示出栈操作,栈的初态、终态均为空,人栈和出栈的操作序列可表示成仅为由S和*组成的序列。下面的序列中合法的操作序列有()。

    A.S*SS*S**
    B.SSS****S
    C.S**S*SS*
    D.SSS*S*S*

    答案:A
    解析:
    要使栈的初态、终态均为空,入栈和出栈的操作次数应该相等,因此排除D项。而BC两项项都出现某一时刻栈已空的情况下执行出栈操作。

  • 第5题:

    已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列(58)。

    A.IIOIIOIOOO
    B.IOIOIOIOIO
    C.IOOIIOIOIO
    D.IIOOIOIOOO

    答案:A
    解析:
    操作步骤:a1a2入,a2出,a3a4入,a4出,a5入,a5出,a3出,a1出。