队列的实现

复制代码
 1 class Queue():
 2     def __init__(self, size=100):
 3         self.rear = 0
 4         self.front = 0
 5         self.size = size + 1
 6         self.li = [0 for _ in range(self.size)]
 7 
 8     def is_empty(self):
 9         return self.front == self.rear
10 
11     def is_full(self):
12         return (self.rear + 1) % self.size == self.front
13 
14     def en_queue(self, element):
15         if not self.is_full():
16             self.rear = (self.rear + 1) % self.size
17             self.li[self.rear] = element
18         else:
19             raise IndexError("The queue is filled!")
20 
21     def de_queue(self):
22         if not self.is_empty():
23             self.front = (self.front + 1) % self.size
24             return self.li[self.front]
25         else:
26             raise IndexError("The queue is empty!")
27 
28 
29 if __name__ == '__main__':
30     que = Queue(5)
31     for i in range(3):
32         que.en_queue(i)
33     for _ in range(2):
34         print(que.de_queue())
35     for i in range(3, 7):
36         que.en_queue(i)
37     for _ in range(5):
38         print(que.de_queue())
复制代码

 

posted @   Avery_rainys  阅读(18)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示