编写一个程序,在自定义函数中完成下列功能并在主函数中进行测试(下列要求中所说的栈均指顺序栈): (1)初始化栈S。 (2)销毁栈S。 (3)判断栈S是否为空。 (4)将元素e入栈。 (5)将栈顶元素出栈并保存到元素e中。
时间: 2024-10-13 07:04:56 浏览: 33
为了编写一个自定义函数实现顺序栈的功能,你可以使用Python语言,因为它提供了一种简单的方式来模拟栈的行为。下面是一个简化的例子:
```python
class Stack:
def __init__(self):
self.items = []
# 初始化栈
def initialize_stack(self):
print("Stack initialized.")
# 销毁栈
def destroy_stack(self):
self.items = []
print("Stack destroyed.")
# 判断栈是否为空
def is_empty(self):
return len(self.items) == 0
# 入栈操作
def push(self, e):
self.items.append(e)
print(f"Element {e} pushed to the stack.")
# 出栈操作
def pop(self):
if not self.is_empty():
top_element = self.items.pop()
print(f"Top element popped: {top_element}")
return top_element
else:
print("Stack is empty.")
# 测试自定义栈
def test_stack():
s = Stack()
s.initialize_stack()
s.push(10)
s.push(20)
print("Is stack empty?", s.is_empty()) # 输出: False
s.pop() # 输出: 20
print("Is stack empty after popping?", s.is_empty()) # 输出: True
s.destroy_stack()
test_stack()
```
在这个例子中,`Stack` 类包含了上述提到的所有操作,并在`test_stack()`函数中进行了测试。运行这个程序可以看到栈的操作效果。
阅读全文