在Python中用链栈算法写一个小程序
时间: 2023-03-27 20:01:46 浏览: 64
好的,我可以回答这个问题。以下是一个用链栈算法实现的Python程序:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class Stack:
def __init__(self):
self.top = None
def push(self, data):
new_node = Node(data)
new_node.next = self.top
self.top = new_node
def pop(self):
if self.top is None:
return None
data = self.top.data
self.top = self.top.next
return data
def is_empty(self):
return self.top is None
def peek(self):
if self.top is None:
return None
return self.top.data
# 测试代码
s = Stack()
s.push(1)
s.push(2)
s.push(3)
print(s.pop()) # 输出3
print(s.pop()) # 输出2
print(s.peek()) # 输出1
print(s.is_empty()) # 输出False
```
这个程序实现了一个链栈,可以进行入栈、出栈、查看栈顶元素和判断栈是否为空的操作。