• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python机器学习入门(二)之Python数据理解
    • 详解python数据结构之栈stack
    • python数据类型相关知识扩展
    • Python数据类型最全知识总结
    • python数据处理——对pandas进行数据变频或插值实例
    • python入门课程第四讲之内置数据类型有哪些
    上一篇:python property的使用技巧分享
    下一篇:PyCharm安装配置Qt Designer+PyUIC图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解python数据结构之队列Queue 详解,python,数据结构,之,