原理
栈是一个有序集合,其中添加和删除元素都是发生在同一端,通常称作发生操作的这一端为顶部,对应的端为底部
例子说明:一个桶里面装很多东西,后放进里面的,先拿出来(也叫后进先出LIFO)
栈的操作:
代码实现:
代码实现如下:自己定义一个类,也可以使用封装好的类from pythonds.basic.stack import Stack
用栈实现的例子(括号匹配)
出现的括号可能是多种例如"{[(",匹配代码如下:
栈还有很多其它应用,如下:
1、转换不同进制数之间转换,例如 给一个十进制数8 8%2=0 8//2=4 4%2=0 4//2=2 2%2=0 2//2=1 1%2=1 1//2=0, 二进制为1000(从后向前取),其它进制转换同理,代码如下: