5、创建一个字符型的顺序栈st1,将abcdefg等字符依次入栈。 在1的基础上,实现对st1的判空、出栈、取栈顶元素、遍历输出栈元素和栈元素的计数输出等操作。
时间: 2024-12-06 16:24:23 浏览: 16
安森美半导体ESD保护器件ESD5B5.0ST1G 数据手册.pdf
创建一个字符型的顺序栈`st1`,你可以选择数组作为底层数据结构,如下所示:
```python
# 定义顺序栈类
class CharacterStack:
def __init__(self):
self.stack = []
# 入栈操作 (push)
def push(self, char):
self.stack.append(char)
# 判空操作 (is_empty)
def is_empty(self):
return len(self.stack) == 0
# 出栈操作 (pop)
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
return None # 如果栈为空,返回None
# 取栈顶元素 (top)
def top(self):
if not self.is_empty():
return self.stack[-1]
else:
return None # 栈为空,返回None
# 遍历输出栈元素
def traverse(self):
for char in self.stack:
print(char)
# 计数输出栈元素个数 (size)
def size(self):
return len(self.stack)
# 创建栈实例并入栈
st1 = CharacterStack()
for char in 'abcdefg':
st1.push(char)
# 执行操作
st1.traverse() # 遍历输出栈元素
print("栈元素个数:", st1.size())
```
这个例子中,我们首先创建了一个`CharacterStack`类,实现了基本的栈操作,并将其应用到字符串`'abcdefg'`上。你可以根据需要调用对应的方法来进行操作。
阅读全文