精华内容
下载资源
问答
  • 经常在笔试的时候会看见这样类似的笔试题,就是关于一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序.很多人都知道栈是先进后出,但是还是做好这道题. 以一道题目为例给大家讲讲这道题目应该怎么做: 题目:...

    经常在笔试的时候会看见这样类似的笔试题,就是关于一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序.很多人都知道栈是先进后出,但是还是做好这道题.

    以一道题目为例给大家讲讲这道题目应该怎么做:

    题目:一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序是()

    A:e,d,a,c,b

    B:a,e,d,c,b

    C:b,c,d,a,e

    D:b,c,a,d,e

    解答这题选择:A

    先从B开始解释,B中,由于输入顺序是a,b,c,d,e所以,B中可以栈先输入a然后a出,然后输入b,c,d,e那么上述出栈顺序就是e,d,c,b;

    C中栈先输如a,b,c则此时c出,b出.这时候d输入,那么a先进所以a后处,此时d出然后a出,最后e进e出.

    D中栈先输入a,b则输出可以是b先出,c近c出,然后是a出,d近d出,最后才是e出.

    A中应该是a,b,c,d,e一起输入,此时e出,d出,a不可能比c先出所以这个错了.正确的出栈顺序应该是e,d,c,b,a.

    当然出栈顺序也可以是a,b,c,d,e这时候是进去一个出栈一个.a进a出,b进b出,c进c出,d进d出,e进e出,所以最后顺序就是a,b,c,d,e.

    转载于:https://www.cnblogs.com/my-blogs-for-everone/p/6183223.html

    展开全文
  • 经常在笔试的时候会看见这样类似的笔试题,就是关于一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序.很多人都知道栈是先进后出,但是还是做好这道题. 以一道题目为例给大家讲讲这道题目应该怎么做: 题目:...

    经常在笔试的时候会看见这样类似的笔试题,就是关于一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序.很多人都知道栈是先进后出,但是还是做好这道题.

    以一道题目为例给大家讲讲这道题目应该怎么做:

    题目:一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序是()

    A:e,d,a,c,b

    B:a,e,d,c,b

    C:b,c,d,a,e

    D:b,c,a,d,e

    解答这题选择:A

    先从B开始解释,B中,由于输入顺序是a,b,c,d,e所以,B中可以栈先输入a然后a出,然后输入b,c,d,e那么上述出栈顺序就是e,d,c,b;

    C中栈先输如a,b,c则此时c出,b出.这时候d输入,那么a先进所以a后处,此时d出然后a出,最后e进e出.

    D中栈先输入a,b则输出可以是b先出,c近c出,然后是a出,d近d出,最后才是e出.

    A中应该是a,b,c,d,e一起输入,此时e出,d出,a不可能比c先出所以这个错了.正确的出栈顺序应该是e,d,c,b,a.

    当然出栈顺序也可以是a,b,c,d,e这时候是进去一个出栈一个.a进a出,b进b出,c进c出,d进d出,e进e出,所以最后顺序就是a,b,c,d,e.

    下次再做到类似的笔试题目应该会做了吧!


    展开全文
  • 初学时候也有困惑,但现在理解了,所以我想把我理解方法分享给大家,帮助大家学习: 以1开头:123,132两种 帮助理解:1进1出2进2出3进3出(输出序列为123);1进1出2进3进3出2出(输出序列为132) ...

    便于理解的图片


    初学的时候也有困惑,但现在理解了,所以我想把我的理解方法分享给大家,帮助大家学习:

    1. 以1开头:123,132两种
      帮助理解:1进1出2进2出3进3出(输出序列为123);1进1出2进3进3出2出(输出序列为132)

    1. 以2开头:213,231两种
      帮助理解:1进2进2出1出3进3出(输出序列为213);1进2进2出3进3出1出(输出序列为231)

    1. 以3开头:注意!只有321一种
      帮助理解:1进2进3进3出2出1出(输出序列为321);312这种序列是不能够推导出来的,因为要满足先进后出(FILO)或后进先出(LIFO)规则。

    1. 这里我简单示范一下:输出序列为312
      帮助理解:1进2进3进3出(这里应该为2出,不满足输出序列为312);1进3进(这里输入顺序2不能再输入,出现矛盾),故输出序列为312不满足。

    同理输入次序为12345,ABCDE等情况也是类似的道理,满足先进后出或后进先出规则即可。


    看懂的小伙伴请给个赞,阿伟会努力做得更好,有疑问欢迎在下方留言!


    刚开始写博客,有不好的地方还请见谅,欢迎您提出宝贵的意见,觉得不错的话,请关注一下,谢谢!

    展开全文
  • 关于顺序栈的算法,有顺序栈的输入和输出, 顺序栈的算法,有格式,可以共参考。
  • 一个栈的输入序列为1 2 3 4 5 的出站顺序的理解

    万次阅读 多人点赞 2018-04-26 09:21:06
    一个栈的输入序列为1 2 3 4 5 的出站顺序是什么?这个经常会在面试的时候出现。如何判断栈的进出问题一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )A. 2 3 4 1解答:一个栈的输入序列为1 2 3...

     一个栈的输入序列为1 2 3 4 5 的出站顺序是什么?这个经常会在面试的时候出现。

    如何判断栈的进出问题一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )A. 2 3 4 1

    解答:

    一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )
    A.2 3 4 1 5 B.5 4 1 3 2C.2 3 1 4 5 D.1 5 4 3 2
    这题就选B
    这样的题做多了就找出规律了
    先进1和2,2出栈进入3,3出栈,进入4,4出栈,1在出栈,5进,5出栈,所以是23415,A对
    进1和2,2出栈进入3,3出栈,进入4,在进入5,5出,4在出,就是23145,C对
    1进,1出,2345进,然后5432出,就是15432,D对
    B是错误,因为5要想出来,就必须五个数都要进栈,那么出来就一种结果是54321,答案是54132所以不对
    这种题找规律,就能做出来


    我们都知道栈是先进后出的,可以理解为桶状结构,

    对于上面那种不可能的情况可按下图理解:


    5最先出来说明其他的四个都没有出来,那么这四个的顺序就必须安照进来的先后顺序依次排列,这就要符合先进后出的原理,出来只有一个通道,下面的数字必须在后面才能出来。

    展开全文
  • 需要一个s 入栈顺序a 出栈顺序b 1.先拿a第一个元素入栈 2.取b中第一元素与s顶层元素比较,相同出栈,在取b中下一个元素与栈顶元素比较 3.不相同,则取a中下一个元素,入栈 4.重复2.3 5.当a.b中元素都取...
  • 栈的输入序列为 1234,给出所有可能的输出序列。 思路解答 一个数在栈的面前要么是入栈,要么是出栈,也就这两者可能选择。 这个题很明显用回溯或者DFS是可以解决的,但是对于掌握递归不是很熟练的我来说,...
  • 栈的输入输出

    2021-02-08 15:38:36
    2.顺序栈的表示 顺序栈的定义 #define MAXSIZE 100 typedef struct{ int stacksize; //栈可用的最大容量 SElemType *top; //栈顶指针 SElemType *base; //栈底指针 }SqStack; 顺序栈的初始化 Status ...
  • 进栈出顺序的判断

    2020-04-12 10:33:32
    输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是? 关于该问题的解答 我们都知道栈是先进后出的,可以理解为桶状结构,看题是时候需要理解,然后找出规律。 对于B选项,我们可以看到是先进1和2,2...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 题目:设一个栈的输入序列为1,2,3…n,编写算法,判断序列,p1,p2,…pn是否是合理的栈输出序列 思想: 将预期的出栈顺序用一个辅助栈保存起来,然后将元素按照入栈的顺序依次存入,若元素等于辅助栈的栈顶元素,则...
  • 其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 假设压入栈的所有数字均不相等。 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出...
  • 栈的顺序存储结构

    2019-10-14 09:37:39
    栈的顺序存储结构的实现 1)编写完成下列功能的函数:(1)初始化一个栈;(2)在已经初始化的基础上,创建一个包含 5 个不大于 100 的正整数值的栈(5 个值由计算机随机产生);(3)将一个数 x 插在栈顶(x 在...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 使用顺序栈输入的中缀表达式变成逆波兰表达式并计算结果 主要分成两部分,一是将中缀表达式变成逆波兰表达式,二是计算逆波兰表达式,在编写过程中我使用了模板函数和函数重载。基本思路和我之前顺序栈计算逆...
  • 其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个...
  • 题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹...
  • 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序。 假设压入栈的所有数字均不相等。 例如序列1,2,3,4,5是某栈的压入顺序, 序列4,5,3,2,1是该压栈序列对应的一个弹出序列...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,384
精华内容 2,153
关键字:

栈的输入顺序