实现一个栈的创建、初始化、入栈、出栈等功能。入栈后需要输出栈的长度,出栈需要显示出栈的字符或者数值,已经出栈前后的栈长度。这些函数可根据书上给的函数名创建完善。
时间: 2024-09-27 22:15:45 浏览: 60
PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例
在编程中,我们可以使用数组或链表来实现一个简单的栈数据结构。这里我将给出一个基于Python的例子:
```python
class Stack:
def __init__(self):
"""
创建一个空栈
"""
self.stack = []
def push(self, item):
"""
入栈操作,向栈顶添加元素
"""
self.stack.append(item)
print(f"Pushed {item}. Current stack length: {len(self.stack)}")
def pop(self):
"""
出栈操作,如果栈非空则删除并返回栈顶元素,否则抛出异常
"""
if not self.is_empty():
top_item = self.stack.pop()
print(f"Popped item: {top_item}")
print("Stack length after popping: ", len(self.stack))
return top_item
else:
raise IndexError("Pop from an empty stack is not allowed.")
def is_empty(self):
"""
判断栈是否为空
"""
return len(self.stack) == 0
def get_length(self):
"""
返回栈的当前长度
"""
return len(self.stack)
# 示例使用
s = Stack()
s.push(1)
s.push('a')
print(s.get_length()) # 输出:2
s.pop()
s.pop()
```
在这个例子中,我们首先定义了一个`Stack`类,它有四个方法:`__init__`用于初始化一个空栈,`push`用于入栈,`pop`用于出栈并显示栈长,`is_empty`和`get_length`分别用于检查栈是否为空以及获取栈的长度。通过实例化这个类并调用这些方法,可以实现所需的功能。
阅读全文