堆栈的实现,python代码
时间: 2023-02-06 22:26:38 浏览: 134
堆栈是一种先进后出(Last In First Out,LIFO)的数据结构,它的基本操作包括入栈(push)和出栈(pop)。
在 Python 中,可以使用列表来实现堆栈。例如,下面是一个简单的堆栈类的实现:
```
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return not bool(self.items)
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def size(self):
return len(self.items)
```
使用这个堆栈类,你可以这样做:
```
stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)
print(stack.size()) # 3
print(stack.peek()) # 3
print(stack.pop()) # 3
print(stack.pop()) # 2
print(stack.is_empty()) # False
print(stack.pop()) # 1
print(stack.is_empty()) # True
```
也可以使用 Python 的内置栈操作。例如:
```
stack = []
stack.append(1)
stack.append(2)
stack.append(3)
print(len(stack)) # 3
print(stack[-1]) # 3
print(stack.pop()) # 3
print(stack.pop()) # 2
print(bool(stack)) # False
print(stack.pop()) # 1
print(bool(stack)) # True
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)