详解python数据结构之队列Queue

这篇文章主要介绍了python数据结构之队列Queue,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助,需要的朋友可以参考下

一、前言

队列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 #删除一个数据,队列中的数据数量就要减 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() #队列中共有 6 个数据,删除 7 个数据,所以会提示queue empty! < pre>

执行结果:

在这里插入图片描述

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

以上就是详解python数据结构之队列Queue的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python