实现一个链接存储的栈完整代码
时间: 2024-09-09 13:15:39 浏览: 35
在Python中,我们可以使用列表(list)作为底层数据结构来实现一个简单的链接存储栈。这里是一个基本的链式栈的实现:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class Stack:
def __init__(self):
self.top = None
# 插入元素到栈顶
def push(self, item):
new_node = Node(item)
if not self.is_empty():
new_node.next = self.top
self.top = new_node
# 删除并返回栈顶元素
def pop(self):
if self.is_empty():
return None
popped_data = self.top.data
self.top = self.top.next
return popped_data
# 检查栈是否为空
def is_empty(self):
return self.top is None
# 返回栈顶元素,但不删除它
def peek(self):
if not self.is_empty():
return self.top.data
else:
return None
# 打印栈的内容
def display(self):
elements = []
current = self.top
while current:
elements.append(current.data)
current = current.next
print("Stack elements:", elements)
# 示例使用
stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.display() # 输出: Stack elements: [1, 2, 3]
print(stack.pop()) # 输出: 3
stack.display()
阅读全文