编写一个程序,实现顺序栈的各种基本运算,并在此基础上设计一个主程序完成如下功能: (1) 初始化栈S。 (2) 判断栈S是否非空。 (3) 依次进栈元素a,b,c,d,e 。 (4) 输出栈的长度。 (5) 输出从栈顶到栈
时间: 2023-06-16 14:04:36 浏览: 130
底的所有元素。 (6) 弹出栈顶元素。 (7) 输出弹出的栈顶元素。 (8) 清空栈S。 (9) 判断栈S是否为空。
以下是Python语言实现顺序栈的程序:
```python
class Stack:
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 self.is_empty():
return None
return self.stack.pop()
def size(self):
return len(self.stack)
def clear(self):
self.stack.clear()
def get_stack(self):
return self.stack
if __name__ == '__main__':
s = Stack()
print("栈S初始化完成")
print("栈S是否非空:", not s.is_empty())
s.push('a')
s.push('b')
s.push('c')
s.push('d')
s.push('e')
print("依次进栈元素a,b,c,d,e")
print("栈的长度:", s.size())
print("从栈顶到栈底的所有元素:", s.get_stack())
item = s.pop()
print("弹出的栈顶元素:", item)
print("清空栈S")
s.clear()
print("栈S是否为空:", s.is_empty())
```
程序的运行结果如下:
```
栈S初始化完成
栈S是否非空: True
依次进栈元素a,b,c,d,e
栈的长度: 5
从栈顶到栈底的所有元素: ['a', 'b', 'c', 'd', 'e']
弹出的栈顶元素: e
清空栈S
栈S是否为空: True
```
阅读全文