一、栈
栈(Stack)是一个数据集合,可以理解为只能在一端进行插入或删除的列表。
栈的特点:后进先出LIFO(last-in,first-out)
栈的概念:栈顶(其实也就是列表最后一个元素位置)、栈底(列表第一个元素的位置)
栈的基本操作:
进栈(压栈):push
出栈:pop
取栈顶:gettop
(取栈顶也可认为:假如面前有一堆书,但是我只取最上面的那个看一眼,但是我不拿走)
二、栈的实现
使用一般的列表结构实现栈:
进栈:li.append
出栈:li.pop
取栈顶:li[-1]
以下代码将实现一个简单的栈结构:
class Stack:
def __init__(self):
self.stack = []
#进栈
def push(self, element):
self.stack.append(element) # 在最后一个元素进栈
#出栈 出栈的前提是:栈不能为空
def pop(self):
try:
return self.stack.pop() # pop不加参数默认返回最后一个,在最后一个元素出栈
except IndexError:
print('stack is