编写Python程序实现栈的顺序存储(顺序栈SqStack),使其实现建栈、判断栈是否为空、取栈顶元素、入栈、出栈、输出从栈顶到栈底的元素等基本操作,将本题代码粘贴到“代码一”处。
时间: 2024-09-27 10:14:15 浏览: 57
C语言 栈的基本操作
4星 · 用户满意度95%
在Python中,我们可以使用列表(List)作为基础数据结构来实现一个简单的顺序栈(SqStack)。下面是一个简单的实现:
```python
class SqStack:
def __init__(self):
# 初始时栈为空
self.stack = []
# 检查栈是否为空
def is_empty(self):
return len(self.stack) == 0
# 入栈操作,向栈顶添加元素
def push(self, item):
self.stack.append(item)
# 出栈操作,返回并移除栈顶元素
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
raise IndexError("Pop from an empty stack")
# 获取栈顶元素但不删除它(查看操作)
def top(self):
if not self.is_empty():
return self.stack[-1]
else:
raise IndexError("Top of an empty stack")
# 输出栈的所有元素(从栈顶到栈底)
def print_stack(self):
if not self.is_empty():
print("Stack elements:", self.stack)
else:
print("Empty stack.")
# 示例
stack = SqStack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.print_stack() # 输出: Stack elements: [1, 2, 3]
print(stack.top()) # 输出: 3
print(stack.pop()) # 输出: 3
stack.print_stack() # 输出: Stack elements: [1, 2]
```
阅读全文