请编写程序实现链栈的建立、入栈、出栈、输出的基本操作;
时间: 2024-10-16 16:10:47 浏览: 33
链栈是一种基于链表实现的数据结构,它的基本操作包括创建一个空栈、插入元素到栈顶、删除栈顶元素以及查看栈是否为空。以下是使用Python语言实现链栈的一些基本操作:
```python
class Node:
def __init__(self, value=None):
self.value = value
self.next = None
class Stack:
def __init__(self):
self.top = None
# 插入(入栈)操作
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
# 删除(出栈)操作
def pop(self):
if not self.is_empty():
popped_value = self.top.value
self.top = self.top.next
return popped_value
else:
raise IndexError("Stack is empty")
# 检查栈是否为空
def is_empty(self):
return self.top is None
# 输出栈顶元素
def peek(self):
if self.is_empty():
return "Stack is empty"
else:
return self.top.value
# 示例
stack = Stack()
stack.push(1)
stack.push(2)
print(stack.peek()) # 输出:2
print(stack.pop()) # 输出:2
print(stack.peek()) # 输出:1
```
这个简单的链栈实现了基本的操作,包括初始化栈(`__init__`)、入栈(`push`)、出栈(`pop`)、查看栈顶元素(`peek`),以及检查栈是否为空(`is_empty`)。
阅读全文