编写一个程序实现顺序栈的以下基本运算: 1. 初始化顺序栈 2. 插入元素 3. 删除栈顶元素 4. 取栈顶元素 5. 遍历顺序栈 6. 置空顺序栈
时间: 2024-10-21 08:09:58 浏览: 34
数据结构课程:顺序栈和链栈的实现
在Python中,我们可以使用列表(List)作为基础数据结构来实现顺序栈(Stack)。以下是基本操作的实现:
```python
class SequentialStack:
def __init__(self): # 初始化顺序栈
self.stack = []
def push(self, item): # 插入元素
self.stack.append(item)
def pop(self): # 删除栈顶元素
if not self.is_empty():
return self.stack.pop()
else:
return None # 如果栈为空,返回None
def peek(self): # 取栈顶元素
if not self.is_empty():
return self.stack[-1] # 返回列表最后一个元素,即栈顶
else:
return None
def is_empty(self): # 判断栈是否为空
return len(self.stack) == 0
def traverse(self): # 遍历顺序栈
for element in self.stack:
print(element)
def clear(self): # 置空顺序栈
self.stack = [] # 通过赋值空列表清空
# 示例
stack = SequentialStack()
stack.push(1)
stack.push(2)
stack.push(3)
print("栈顶元素:", stack.peek()) # 输出: 3
print("栈内容:", stack.traverse()) # 输出: 1 2 3
stack.pop() # 删除栈顶元素3
print("删除后栈顶元素:", stack.peek()) # 输出: 2
stack.clear() # 置空栈
```
阅读全文