主页 > 知识库 > 详解python数据结构之队列Queue

详解python数据结构之队列Queue

热门标签:激战2地图标注 唐山智能外呼系统一般多少钱 海南400电话如何申请 广告地图标注app 公司电话机器人 白银外呼系统 哈尔滨ai外呼系统定制 腾讯外呼线路 陕西金融外呼系统

一、前言

队列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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Python机器学习入门(二)之Python数据理解
  • 详解python数据结构之栈stack
  • python数据类型相关知识扩展
  • Python数据类型最全知识总结
  • python数据处理——对pandas进行数据变频或插值实例
  • python入门课程第四讲之内置数据类型有哪些

标签:四川 惠州 鹰潭 黑龙江 黔西 益阳 常德 上海

巨人网络通讯声明:本文标题《详解python数据结构之队列Queue》,本文关键词  详解,python,数据结构,之,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《详解python数据结构之队列Queue》相关的同类信息!
  • 本页收集关于详解python数据结构之队列Queue的相关信息资讯供网民参考!
  • 推荐文章