您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:详解python数据结构之队列Queue

51自学网 2021-10-30 22:41:30
  python
这篇教程详解python数据结构之队列Queue写得很实用,希望能帮到您。

一、前言

队列Queue是一种先进先出(FIFO,First In First Out)的线性表。允许一端进行插入(rear),对应的另一段进行删除(front)。

本篇包含以下内容:
(1)Queue的基本格式
(2)入队列en_queue
(3)删除数据函数 de_queue

二、Queue的基本格式

class Queue():    def __init__(self,size):        self.size = size         self.front = -1 #设置front初始值,每出队列一个数据就加 1        self.rear = -1 #设置rear初始值,每入队列一个数据就加 1        self.queue = [] #队列中数据的列表            def display_queue(self): #打印队列数据        print(self.queue)if __name__ == "__main__":    queue = Queue(6) #设置队列queue的空间大小    queue.display_queue() #调用打印函数

三、入队列函数 en_queue

class Queue():    def __init__(self,size):        self.size = size        self.front = -1        self.rear = -1        self.queue = []    def en_queue(self,data):        if self.rear >= (self.size -1): #当入队列数据数量大于队列的size,提示queue is full!            print("queue is full!")            return         self.queue.append(data) #queue有空间就将数据入队列        self.rear += 1 #每入队列一个数据就加 1    def display_queue(self):        print(self.queue)if __name__ == "__main__":    queue = Queue(6)    queue.en_queue(0)    queue.en_queue(1)    queue.en_queue(2)    queue.en_queue(3)    queue.en_queue(4)    queue.en_queue(5)    queue.en_queue(6) #queue空间是 6,入队列数据有 7 个,提示queue is full!    queue.display_queue()    

执行结果:

在这里插入图片描述

四、删除数据函数 de_queue

class Queue():    def __init__(self,size):        self.size = size        self.front = -1        self.rear = -1        self.queue = []    def en_queue(self,data):        if self.rear >= (self.size -1):            print("queue is full!")            return         self.queue.append(data)        self.rear += 1        def de_queue(self):        if  self.rear < 0: #rear表示队列中数据的多少,所以当它小于0时说明queue中没有数据            print("queue is empty!")            return        self.front += 1 #当queue不为空时,每出队列一个数据 front就加 1        self.queue.pop(0) #删除最先进来的数据        self.rear -= 1 #删除一个数据,队列中的数据数量就要减 1    def display_queue(self):        print(self.queue)if __name__ == "__main__":    queue = Queue(6)    queue.en_queue(0)    queue.en_queue(1)    queue.en_queue(2)    queue.en_queue(3)    queue.en_queue(4)    queue.en_queue(5)    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue()    queue.de_queue()    queue.display_queue() #队列中共有 6 个数据,删除 7 个数据,所以会提示queue is empty!

执行结果:

在这里插入图片描述

到此这篇关于详解python数据结构之队列Queue的文章就介绍到这了,更多相关python队列Queue内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python property的使用技巧分享
PyCharm安装配置Qt Designer+PyUIC图文教程
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。