python实现fifo算法
时间: 2023-09-29 09:08:29 浏览: 58
下面是Python实现FIFO算法的示例代码:
```python
class Fifo:
def __init__(self, capacity):
self.capacity = capacity # 队列容量
self.queue = [] # 队列列表
def push(self, item):
if len(self.queue) < self.capacity:
self.queue.append(item)
else:
self.queue.pop(0)
self.queue.append(item)
def pop(self):
if self.queue:
return self.queue.pop(0)
else:
return None
def is_empty(self):
return not bool(self.queue)
def is_full(self):
return len(self.queue) == self.capacity
def __str__(self):
return str(self.queue)
```
在上面的代码中,我们使用列表来实现FIFO队列。`__init__`方法用于初始化队列容量和队列列表。`push`方法用于将元素插入队列,并且如果队列已满,则弹出队列中的最先添加的元素。`pop`方法用于弹出队列中的最先添加的元素。`is_empty`和`is_full`方法用于判断队列是否为空或已满。`__str__`方法用于返回队列列表的字符串表示形式,以便我们可以方便地调试和测试。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)