用python实现ADT stack、
时间: 2023-12-21 09:07:28 浏览: 21
以下是使用 Python 实现 ADT Stack 的示例代码:
```python
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def push(self, item):
self.items.append(item)
def pop(self):
if self.is_empty():
raise Exception("Stack is empty")
else:
return self.items.pop()
def peek(self):
if self.is_empty():
raise Exception("Stack is empty")
else:
return self.items[-1]
def size(self):
return len(self.items)
```
在这个实现中,我们使用一个列表来存储栈中的元素。`is_empty` 方法检查栈是否为空,`push` 方法将元素推入栈中,`pop` 方法从栈中弹出元素并返回它,`peek` 方法返回栈顶元素但不弹出它,`size` 方法返回栈中元素的数量。
我们可以使用以下代码创建一个 Stack 对象并测试它:
```python
s = Stack()
print(s.is_empty()) # True
s.push(1)
s.push(2)
s.push(3)
print(s.peek()) # 3
print(s.pop()) # 3
print(s.size()) # 2
```