本关任务是实现顺序栈的基本操作函数,以实现判断栈是否为满、是否为空、求栈元素个数、进栈和出栈等功能。
时间: 2024-12-23 12:20:03 浏览: 21
在编程中,顺序栈是一种线性数据结构,它的基本操作包括检查栈是否为空(is_empty)、检查栈是否已满(is_full),获取当前栈元素的数量(get_size),以及向栈顶添加元素(push)和从栈顶移除元素(pop)。这里是一个简单的Python实现,假设我们使用列表作为底层存储:
```python
class Stack:
def __init__(self, capacity):
self.stack = []
self.capacity = capacity
# 判断栈是否为空
def is_empty(self):
return not bool(self.stack)
# 判断栈是否已满
def is_full(self):
return len(self.stack) == self.capacity
# 获取栈元素个数
def get_size(self):
return len(self.stack)
# 进栈 (push)
def push(self, item):
if self.is_full():
print("Stack is full!")
else:
self.stack.append(item)
# 出栈 (pop)
def pop(self):
if self.is_empty():
print("Stack is empty!")
else:
return self.stack.pop()
# 示例
s = Stack(5)
s.push(1) # 栈不全,正常操作
s.push(2) # 栈不全,正常操作
s.push(3)
阅读全文