Python实现数据结构——栈 Python
栈(Stack)
栈是一种 后进先出(LIFO,Last In First Out) 的线性结构。允许操作的只有栈顶一端:压入(push)和弹出(pop)。
1. 使用列表模拟栈(最简方式)
# 创建一个空栈(列表)
stack = []
# 压入元素
stack.append(1)
stack.append(2)
stack.append(3)
# 弹出栈顶元素
top = stack.pop()
print(top) # 3
# 查看栈顶元素(不弹出)
print(stack[-1]) # 2
# 判断栈是否为空
print(len(stack) == 0) # False
2. 定义栈类(更规范)
class Stack:
"""栈的实现"""
def __init__(self):
self.items = [] # 用列表存储元素
def push(self, item):
"""压入元素"""
self.items.append(item)
def pop(self):
"""弹出并返回栈顶元素"""
if self.is_empty():
raise IndexError("栈为空,无法弹出")
return self.items.pop()
def peek(self):
"""查看栈顶元素(不弹出)"""
if self.is_empty():
return None
return self.items[-1]
def is_empty(self):
"""判断栈是否为空"""
return len(self.items) == 0
def size(self):
"""返回栈中元素个数"""
return len(self.items)
# 实例演示
s = Stack()
s.push(5)
s.push(10)
s.push(15)
print(s.pop()) # 15
print(s.peek()) # 10
print(s.size()) # 2
---
评论 (0)
登录后可以发表评论
立即登录还没有评论,快来发表第一条评论吧!