基于python使用数组(列表)实现一个栈
时间: 2024-09-22 10:02:56 浏览: 90
在Python中,可以非常方便地使用列表来实现栈的数据结构。因为列表支持动态大小调整,并且可以快速地在末尾添加和删除元素(即追加和弹出),这使得它非常适合做栈的基本操作。
下面是一个简单的基于Python列表实现栈的例子:
```python
class Stack:
def __init__(self):
self.items = [] # 初始时栈为空
# 添加元素到栈顶的操作,相当于入栈
def push(self, item):
self.items.append(item)
# 删除并返回栈顶元素的操作,相当于出栈
def pop(self):
if not self.is_empty(): # 检查是否为空
return self.items.pop() # 如果非空,则弹出并返回顶部元素
else:
return None # 如果为空,返回None表示栈已空
# 检查栈是否为空
def is_empty(self):
return len(self.items) == 0
# 返回栈顶元素但不删除
def peek(self):
if not self.is_empty():
return self.items[-1] # 返回列表的最后一个元素(栈顶)
else:
return None
# 使用示例
stack = Stack()
stack.push('A')
stack.push('B')
print(stack.peek()) # 输出 'B'
stack.pop()
print(stack.peek()) # 输出 'A', 现在栈顶是'A'
```
阅读全文