问题描述

示例:例如一个栈输入序列为123456,能否得到436512和135462的出栈序列。

解决方案

本题讲述的是关于栈的进栈和出栈的问题,那么首先需要知道栈的概念是什么,到底什么是栈。[栈定义是只能在表的一端(栈顶)进行插入和删除运算的线性表。简言之“先进后出”]。从下面的图示可以很清楚的理解栈是如何进栈和出栈的。

             

Python|栈是如何进栈和出栈的问题解决方法_栈Python|栈是如何进栈和出栈的问题解决方法_栈_02

                                                                                   

通过上面两幅图的比较可以清晰的看到先进去的元素后出来,后进的元素先出来。

Python|栈是如何进栈和出栈的问题解决方法_Python_03

                           

由于栈里面的元素是先进的后出所以得不到436512的序列。

 

Python|栈是如何进栈和出栈的问题解决方法_Python_04 

所以可以得到135462序列。

结语

本篇文章主要是讲述了栈的进栈和出栈,在后期学习中可以通过写一些代码来实现进栈和出栈的问题,上述的图示可以鲜明的知道栈的进出问题,后面我们可以尝试用Python来实现进栈出栈问题。刚开始可能会写出比较复杂的代码,后面学习更多简便方法后可以写出比较简单的代码来实现。