实现链表栈的入栈、出栈代码
时间: 2024-10-18 08:07:55 浏览: 34
链表栈是一种基于链表的数据结构,它遵循“后进先出”(LIFO,Last In First Out)的原则,类似于日常生活中使用的物理栈。以下是使用Python实现一个简单链表栈的基本操作——入栈(push)和出栈(pop)的代码:
```python
class Node:
def __init__(self, value):
self.value = value
self.next = None
class Stack:
def __init__(self):
self.top = None
# 入栈 (push) 函数
def push(self, value):
new_node = Node(value)
if not self.top:
self.top = new_node
else:
new_node.next = self.top
self.top = new_node
# 出栈 (pop) 函数
def pop(self):
if not self.is_empty():
popped_value = self.top.value
self.top = self.top.next
return popped_value
else:
raise Exception("Stack is empty")
# 检查栈是否为空 (is_empty) 函数
def is_empty(self):
return self.top is None
# 使用示例
stack = Stack()
stack.push(1)
stack.push(2)
print(stack.pop()) # 输出: 2
print(stack.pop())
阅读全文