写一段顺序栈代码并添加注释
时间: 2024-10-23 14:10:53 浏览: 20
标准tcp源代码,有注释
5星 · 资源好评率100%
当然可以,这里是一个简单的顺序栈(基于数组实现)的Python代码示例,附带了注释:
```python
class Stack:
# 初始化栈,设置最大容量
def __init__(self, capacity):
self.stack = []
self.capacity = capacity # 栈的最大存储元素数量
# 判断栈是否为空
def is_empty(self):
return len(self.stack) == 0
# 将元素压入栈顶
def push(self, item):
if not self.is_full(): # 防止栈满
self.stack.append(item)
else:
print("Stack is full, can't push more elements.")
# 从栈顶弹出元素
def pop(self):
if not self.is_empty():
return self.stack.pop() # 如果非空则移除并返回顶部元素
else:
print("Stack is empty, nothing to pop.")
# 返回栈顶元素,但不移除
def peek(self):
if not self.is_empty():
return self.stack[-1] # 返回栈顶元素
else:
print("Stack is empty, no element to peek.")
# 检查栈是否已满
def is_full(self):
return len(self.stack) >= self.capacity
# 使用栈
stack = Stack(5)
stack.push(1)
stack.push(2)
print(stack.peek()) # 输出: 2
stack.pop()
print(stack.peek()) # 输出: 1
```
这个栈实现了基本的操作如push、pop和peek,以及检查栈是否为空和是否已满的功能。
阅读全文