创建一个顺序字符类型的栈,栈的长度是20,依次实现ABCD个字符的入栈,读栈顶元素,然后依次出栈一个元素,输出元素值,并读取栈顶元素
时间: 2024-12-22 15:26:16 浏览: 10
创建一个顺序存储字符的栈,容量为20,可以采用数组作为底层数据结构。以下是Python语言的一个简单示例:
```python
class Stack:
def __init__(self, capacity=20):
self.stack = [''] * capacity
self.top = -1
# 入栈方法
def push(self, char):
if self.is_full():
print("Stack is full, cannot push more elements.")
else:
self.top += 1
self.stack[self.top] = char
# 出栈方法
def pop(self):
if self.is_empty():
print("Stack is empty, cannot pop an element.")
else:
return self.stack.pop()
# 判断栈是否为空
def is_empty(self):
return self.top == -1
# 判断栈是否已满
def is_full(self):
return self.top == len(self.stack) - 1
# 读取栈顶元素
def peek(self):
if not self.is_empty():
return self.stack[self.top]
else:
return None
# 实例化栈并操作
stack = Stack()
stack.push('A')
stack.push('B')
stack.push('C')
stack.push('D')
print("Top element:", stack.peek()) # 输出 'D'
print("Popped element:", stack.pop()) # 输出 'D'
while not stack.is_empty():
print("Popped element:", stack.pop())
```
在这个例子中,我们首先创建了一个`Stack`类,它有四个主要方法:`push`用于入栈,`pop`用于出栈,`is_empty`用于检查是否为空,以及`peek`用于查看栈顶元素但不移除。接着我们按照题目描述依次入栈并读取、出栈元素。
阅读全文