用Python实现一个栈stack,后进先出 Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数
时间: 2024-11-04 10:11:50 浏览: 13
在Python中,你可以使用内置的数据结构`list`来简单地模拟一个栈(Stack),因为列表支持在两端添加和删除元素。以下是这个栈的基本实现:
```python
class Stack:
def __init__(self):
self.items = []
# 后进先出 - push操作,将元素添加到栈顶
def push(self, item):
self.items.append(item)
# pop操作,弹出并返回栈顶元素
def pop(self):
if not self.is_empty():
return self.items.pop()
else:
raise IndexError("Pop from empty stack")
# peek操作,返回栈顶元素但不移除
def peek(self):
if not self.is_empty():
return self.items[-1]
else:
raise IndexError("Peek on empty stack")
# 判断栈是否为空
def is_empty(self):
return len(self.items) == 0
# 返回栈的元素个数
def size(self):
return len(self.items)
```
你可以像下面这样使用这个Stack类:
```python
s = Stack()
s.push(1)
s.push(2)
print(s.peek()) # 输出: 2
print(s.pop()) # 输出: 2
print(s.size()) # 输出: 1
```
阅读全文