利用数组作为存储结构实现堆栈的基本操作,包括创建堆栈,入栈,空栈,满栈
时间: 2023-10-16 08:08:23 浏览: 41
下面是利用数组作为存储结构实现堆栈的基本操作的示例代码:
```python
class Stack:
def __init__(self, capacity):
self.capacity = capacity # 堆栈容量
self.stack = [None] * capacity # 利用数组存储堆栈元素
self.top = -1 # 栈顶指针
def is_empty(self):
return self.top == -1
def is_full(self):
return self.top == self.capacity - 1
def push(self, element):
if self.is_full():
print("堆栈已满,无法入栈")
return
self.top += 1
self.stack[self.top] = element
def pop(self):
if self.is_empty():
print("堆栈已空,无法出栈")
return None
element = self.stack[self.top]
self.top -= 1
return element
def peek(self):
if self.is_empty():
print("堆栈已空,无法查看栈顶元素")
return None
return self.stack[self.top]
```
其中,`__init__` 方法用于初始化堆栈,`is_empty` 和 `is_full` 方法用于判断堆栈是否为空或已满,`push` 方法用于入栈,`pop` 方法用于出栈,`peek` 方法用于查看栈顶元素。