编写一个代码实现顺序栈的各种基本运算
时间: 2024-10-18 16:18:54 浏览: 23
顺序栈是一种基于数组实现的数据结构,它的特点是后进先出(LIFO)。以下是使用Python实现一个简单的顺序栈及其基本操作(压入元素、弹出元素、查看顶部元素、判断是否为空):
```python
class Stack:
def __init__(self, capacity=10):
self.stack = [None] * capacity
self.top = -1
self.capacity = capacity
# 压入元素到栈顶
def push(self, item):
if self.is_full():
print("Stack is full!")
return
self.top += 1
self.stack[self.top] = item
# 弹出并返回栈顶元素
def pop(self):
if self.is_empty():
print("Stack is empty!")
return None
return self.stack.pop(self.top)
# 查看栈顶元素但不删除
def peek(self):
if self.is_empty():
print("Stack is empty!")
return None
return self.stack[self.top]
# 判断栈是否为空
def is_empty(self):
return self.top == -1
# 判断栈是否已满
def is_full(self):
return self.top == self.capacity - 1
# 使用示例
stack = Stack()
stack.push(1)
stack.push(2)
print(stack.peek()) # 输出: 2
print(stack.pop()) # 输出: 2
print(stack.is_empty()) # 输出: False
```
阅读全文