1.什么是栈?
- 一种有次序的数据项集合,在栈中,数据项的的加入和移除都仅发生在同一端。
这一端叫“栈顶",另一端叫”栈底" - 这种次序通常称为“后进先出LIFO":Last in First out
2.栈的定义
- Stack:创建一个空栈,不包含任何数据项
- push(item):将item加入栈顶,无返回值
- pop():将栈顶数据项移除并返回,栈被修改了
- peek():"窥视"栈顶数据项,返回栈顶的数
- is_Empty():返回栈是否为空栈
- size:返回栈中有多少个数据项
3.Python实现栈Stack
class Stack:
def __init__(self):
"""空列表实现空栈"""
self.items = []
def is_Empty(self):
"""判断是否为空栈"""
return self.items == []
def push(self,item):
"""将item加入栈顶"""
self.items.append(item)
def pop(self)
"""将栈顶数据项移除并返回"""
return self.items.pop()
def peek(self):
"""窥视栈顶数据项,返回栈顶的数"""
return self.items[-1]
def size(self):
"""返回栈中有多少数据项"""
return len(self.items)
4.日常生活中的栈问题