消息队列MQ

数据结构与算法 3.队列 Queue

本文主要是介绍数据结构与算法 3.队列 Queue,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

队列 Queue

队列是一种特殊的线性表,只能在头、尾两端进行操作
队尾(rear):只能从队尾添加元素,叫做入队,enQueue
队头(front):只能从队头移除元素,叫做出队,deQueue
FIFO的结构 First In First Out

队列的接口设计:
    isEmpty()    判断队列是否为空
    size()       返回队列中元素数量
    enQueue()    入队
    deQueue()    出队
    front()      获取队头元素

队列的应用:
    需要处理大量消息时削峰
    生产者消费者模型
    用于进程之间通信
class Queue(object):
    def __init__(self):
        self.items = []

    # 判断队列是否为空
    def isEmpty(self):
        return self.items == []

    # 获取队列长度
    def size(self):
        return len(self.items)

    # 入队
    def enQueue(self,item):
        self.items.append(item)

    # 出队
    def deQueue(self):
        return self.items.pop(0)

    # 获取队头元素
    def front(self):
        return self.items[0]

if __name__ == '__main__' :
    queue = Queue()
    queue.enQueue(11)
    queue.enQueue(22)
    queue.enQueue(33)
    queue.enQueue(44)
    res = queue.front()
    print(res)
    while queue.isEmpty() == False :
        res = queue.deQueue()
        print(res)

11
11
22
33
44
这篇关于数据结构与算法 3.队列 Queue的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!