使用 Python 列表实现栈数据结构(stack)。编写从堆栈中的函数push、pop 和 peek元素。
时间: 2024-09-29 22:05:24 浏览: 30
3分钟带你搞懂栈和队列(Python实现)——不懂你锤我
在Python中,可以使用列表(List)来实现简单的栈数据结构。栈是一种后进先出(LIFO, Last In First Out)的数据结构,常用的方法包括`push`(压入元素),`pop`(弹出顶部元素)和`peek`(查看顶部元素但不移除)。
首先,我们需要定义一个名为`Stack`的简单类,它包含三个方法:
```python
class Stack:
def __init__(self):
self.stack = []
# push 方法用于在栈顶添加元素
def push(self, item):
self.stack.append(item)
# pop 方法用于移除并返回栈顶元素
def pop(self):
if not self.is_empty(): # 检查栈是否为空
return self.stack.pop() # 返回并移除最后一个元素
else:
raise IndexError("Pop from an empty stack.")
# peek 方法用于查看但不移除栈顶元素
def peek(self):
if not self.is_empty():
return self.stack[-1] # 返回栈顶元素,但不移除
else:
raise IndexError("Peek at an empty stack.")
# is_empty 检查栈是否为空
def is_empty(self):
return len(self.stack) == 0
```
现在你可以创建一个`Stack`实例并使用这些方法:
```python
stack = Stack()
stack.push(1) # 入栈
print(stack.peek()) # 查看栈顶元素
stack.push('a') # 再入栈
print(stack.pop()) # 出栈
print(stack.is_empty()) # 检查栈是否空
```
阅读全文