1,建立顺序栈,并在顺序栈上实现入栈和出栈操作。 (1)根据入栈操作建立一个顺序栈,并输出核中栈顶的元素值。 (2)将数据元素e入栈,并输出入栈后的顺序栈中栈顶的元素值。 (3)将顺序栈中的栈顶元素出栈,并输出出栈元素的值和出栈后顺序栈中栈顶的元素值。
时间: 2024-10-22 22:20:14 浏览: 38
首先,我们来创建一个基于数组实现的顺序栈。顺序栈的主要数据结构是一个动态数组,它只支持在栈顶进行插入和删除操作。这里,我们将用一个整数数组作为存储空间,数组的第一个位置表示栈顶。
```python
class SequentialStack:
def __init__(self):
self.stack = []
# 入栈操作
def push(self, value):
self.stack.append(value)
print("栈顶元素值:", self.stack[-1])
# 出栈操作
def pop(self):
if not self.is_empty():
top_value = self.stack.pop()
print(f"出栈元素值:{top_value}, 栈顶元素值:", self.stack[-1] if self.stack else "栈已空")
else:
print("栈为空,无法出栈")
# 判断栈是否为空
def is_empty(self):
return len(self.stack) == 0
# 示例
stack = SequentialStack()
# (1) 初始化时,栈为空,输出:"栈顶元素值: None"
# (2) 入栈 e,输出:"栈顶元素值: e"
stack.push('e')
# (3) 出栈,假设栈顶元素是'e',输出:"出栈元素值: e, 栈顶元素值: None"
stack.pop()
```
在这个实现中,(1) 初始化时没有元素,所以栈顶元素值为 `None`;(2) 入栈 'e' 后,栈顶元素变为 'e';(3) 出栈操作会弹出栈顶元素,并更新栈顶元素值(如果栈不为空的话)。
阅读全文