Python数据结构之栈类实现
1、栈
Python栈,栈是含有一组对象的容器,支持快速后进先出(LIFO)的插入和删除操作。与列表或数组不同,栈通常不允许随机访问所包含的对象。插入和删除操作通常称为入栈(push)和出栈(pop)。

2、栈的操作
- Stack()创建一个新的空栈
- push(item)添加一个新的元素item到栈顶
- pop()弹出栈顶元素
- peek()返回栈顶元素
- is_full栈是否已满
- is_empty()判断栈是否为空
- size()返回栈的元素个数
3、代码示例
class Stack():
def __init__(self, size):
self.size = size # 栈可容纳的数量
self.stack = []
self.top = -1
def push(self, ele): # 入栈之前检查栈是否已满
if self.isfull():
raise Exception("out of range")
else:
self.stack.append(ele)
self.top = self.top + 1
def pop(self): # 出栈之前检查栈是否为空
if self.isempty():
raise Exception("stack is empty")
else:
self.top = self.top - 1
return self.stack.pop()
def peek(self):
"""返回栈顶元素"""
return self.items[len(self.items)-1]
def is_full(self):
return self.top + 1 == self.size
def is_empty(self):
return self.top == -1
参考:
https://blog.csdn.net/m0_46204224/article/details/107774211
https://www.cainiaoya.com/python/python-ds-stack.html

浙公网安备 33010602011771号