更多“一个栈的入栈序列为a1,a2,a3,a4,a5,则此栈可能的输出序列是() ”相关问题
  • 第1题:

    设有栈S和队列Q,其状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素则进入队列Q,若6个元素出队列的顺序是a2,a3,a4,a6,a5,a1,则栈的容量至少是A.6 B.4 C.3 D.2


    正确答案:C
    本题主要考查栈和队列的基本特性。栈是限定仅在表尾进行插入和删除操作的线性表,而队列则只允许在队尾进行插入操作,在队头进行删除操作。栈对数据元素的操作具有先进后出的特点,而队列对数据元素的操作具有先进先出的特点。
    本题要求对栈和队列一起操作,将出栈S的元素进入队列Q,元素出队的顺序是a2,a3,a4,a6,a5,a1,根据队列的特性,那么元素入队的顺序也应该为a2,a3,a4,a6,a5,a1,这也就说明元素出栈的顺序为a2,a3,a4,a6,a5,a1,但元素入栈的顺序是a1,a2,a3,a4,a5,a6,根据这两个序列,我们可以推断出元素入栈出栈的过程为:首先a1入栈,它不马上出栈,而是让a2入栈,然后a2出栈,a3、a4分别入栈后又出栈,接着a5入栈,而不接着出栈,而是让a6入栈,这时,栈S中元素的个数为3个,分别是a1,a5,a6。因此,栈的容量至少为3。

  • 第2题:

    4个元素a1,a2,a3和a4依次入栈,人栈过程中允许栈顶元素出栈。假设某一时刻栈的状态是:则不可能的出栈序列是

    A.a4,a3,a2,a1

    B.a3,a2,a4,a1

    C.a3,a1,a4,a2

    D.a3,a4,a2,a1


    正确答案:C
    解析:既然某一时刻栈内的顺序是a3,a2,a1(a1在栈底),则不管中间是否有别的数据进出栈,它们的出栈顺序总是不能颠倒的,而答案C中,a1竟在a2之前出了栈,这是不可能的。

  • 第3题:

    设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳()个元素。


    4 n-1 长度为0的串, 0个或多个空格组成的串 20 3 主 子 6 D gethead(gethead(gettail(ls))) 360 1352 1104 1312

  • 第4题:

    一个栈的入栈序列为a1,a2,a3,a4,a5,则此栈不可能的输出序列是 ( )

    A.a5,a4,a3,a2,a1

    B.a4,a5,a3,a2,a1

    C.a4,a3,a5,a1,a2

    D.a1,a2,a3,a4,a5


    正确答案:C

  • 第5题:

    四个元素a1、a2、a3和a4依次通过一个栈,在入栈过程中允许栈顶元素出栈。假设某一时刻栈的状态如下:

    则不可能的出栈序列是______。

    A.a4,83,a2,a1

    B.a3,a2,a4,a1

    C.a3,a1,a4,a2

    D.a3,a4,82,a1


    正确答案:C