自定义数据结构堆栈,名为Stack,包含基本操作:初始化,求长度,入栈,出栈,返回栈顶元素,清空并输出整个栈
时间: 2024-10-23 07:16:54 浏览: 20
数据结构:第三章 栈和队列.ppt
自定义数据结构堆栈,通常称为Stack,是一个基础的数据结构,它遵循"后进先出"(LIFO,Last In First Out)的原则。在Python中,你可以创建一个简单的堆栈类,如下所示:
```python
class Stack:
def __init__(self):
self.stack = []
# 初始化操作
def initialize(self):
print("堆栈已初始化为空.")
# 求长度操作
def length(self):
return len(self.stack)
# 入栈操作 (push)
def push(self, item):
self.stack.append(item)
print(f"{item} 已入栈.")
# 出栈操作 (pop)
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
return None # 或者抛出异常表示栈空
# 返回栈顶元素操作 (peek)
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
return None # 或者抛出异常表示栈空
# 清空并输出整个栈的操作 (clear and output)
def clear_and_output(self):
while not self.is_empty():
popped_item = self.pop()
print(f"弹出的元素:{popped_item}")
print("堆栈已清空.")
# 判断栈是否为空的操作 (is_empty)
def is_empty(self):
return len(self.stack) == 0
```
这个Stack类包含了常见的堆栈操作,并通过`is_empty`方法检查堆栈是否为空。你可以按照上述方法来创建和使用堆栈。使用示例如下:
```python
s = Stack()
s.initialize() # 初始化
s.push(1) # 入栈1
s.push(2) # 入栈2
print(s.length()) # 输出长度
print(s.peek()) # 输出栈顶元素
s.pop() # 出栈并打印
s.clear_and_output() # 清空并输出
```
阅读全文