Python队列Queue是什么意思,基本格式是怎样
Admin 2022-07-08 群英技术资讯 490 次浏览
队列Queue是一种先进先出(FIFO,First In First Out)的线性表。允许一端进行插入(rear),对应的另一段进行删除(front)。
本篇包含以下内容:
(1)Queue的基本格式
(2)入队列en_queue
(3)删除数据函数 de_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() #调用打印函数
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()
执行结果:
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!
执行结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
对于程序员来说,其实Tab和空格远远不只是“立场”问题那么简单。在不同的编辑器里tab的长度可能不一致,所以在一个编辑器里用tab设置缩进
这篇文章主要介绍了python中的属性管理机制,主要包括私有属性和属性限制-__slots__方法,文中详细介绍了python中如何去声明变量的相关知识,需要的朋友可以参考下
支持向量机 (Support Vector Machine, SVM) 是一种监督学习技术,它通过根据指定的类对训练数据进行最佳分离,从而在高维空间中构建一个或一组超平面。本文将介绍通过SVM算法实现手写数字的识别,需要的可以了解一下
python命令行传参有哪些方法?很多新手对于python命令行传参的方法可能不是很了解,这篇文章就主要给大家分享python命令行传参的方法,对新手学习有一定的借鉴价值,感兴趣的朋友可以参考一下,下面我们一起来学习吧。
这篇文章主要介绍了Python实现五子棋人机对战 和人人对战,通过定义黑白子,落子位置以及获胜规则展开详细内容,需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008