编写Python程序实现栈的顺序存储(顺序栈SeqStack),使其实现建栈、判断栈是否为空、取栈顶元素、入栈、出栈、求栈的长度、输出从栈顶到栈底的元素等基本操作
时间: 2024-09-27 20:14:56 浏览: 37
SeqStack顺序栈_
在Python中,我们可以使用内置的列表数据结构来实现一个简单的顺序栈(SeqStack)。下面是一个基本的实现:
```python
class SeqStack:
def __init__(self):
self.items = []
# 建立空栈
def is_empty(self):
return len(self.items) == 0
# 判断栈是否为空
def isEmpty(self):
return self.is_empty()
# 取栈顶元素
def top(self):
if not self.is_empty():
return self.items[-1]
else:
raise IndexError("Stack is empty")
# 入栈(压栈)
def push(self, item):
self.items.append(item)
# 出栈(弹栈)
def pop(self):
if not self.is_empty():
return self.items.pop()
else:
raise IndexError("Stack is empty")
# 求栈的长度
def size(self):
return len(self.items)
# 输出从栈顶到栈底的元素
def print_stack(self):
for item in reversed(self.items):
print(item)
```
在这个实现中,`items`列表存储了栈的所有元素。通过访问列表的最后一个元素(-1位置)获取栈顶元素,然后使用`append()`添加新元素和`pop()`移除最顶层元素来实现入栈和出栈操作。
阅读全文