编写代码,实现一个栈(Stack)类。栈是只能在一端插入和删除数据的序列,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据,最后一个数据被第一个读出来
时间: 2023-12-09 11:04:55 浏览: 91
基于python的数据结构代码实现-栈Stack
好的,以下是一个基本的栈(Stack)类的代码实现:
```python
class Stack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
def pop(self):
if self.is_empty():
return None
return self.stack.pop()
def is_empty(self):
return len(self.stack) == 0
def peek(self):
if self.is_empty():
return None
return self.stack[-1]
def size(self):
return len(self.stack)
```
这个栈(Stack)类包括以下几个方法:
- `__init__`:初始化一个空的栈。
- `push`:将一个元素压入栈顶。
- `pop`:将栈顶元素弹出并返回,如果栈为空则返回 `None`。
- `is_empty`:判断栈是否为空。
- `peek`:返回栈顶元素,但不弹出,如果栈为空则返回 `None`。
- `size`:返回栈的大小。
可以通过以下方式使用该栈(Stack)类:
```python
s = Stack()
s.push(1)
s.push(2)
s.push(3)
print(s.peek()) # 输出 3
print(s.pop()) # 输出 3
print(s.pop()) # 输出 2
print(s.pop()) # 输出 1
print(s.pop()) # 输出 None
print(s.is_empty()) # 输出 True
```
阅读全文