Arithmetic第一篇:栈具有FILO(先进后出)的性质,已知栈的输入顺序为123,则输出有多少种

便于理解的图片


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

  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等情况也是类似的道理,满足先进后出或后进先出规则即可。


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


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

发布了30 篇原创文章 · 获赞 72 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/H_W_1212/article/details/88698107