菜鸟笔记
提升您的技术认知

python队列操作-ag真人游戏

"""
队列
    定义:队列是限制在两端进行插入和操作的线性表,允许存入操作的一段叫“队尾”,删除操作的一端叫“队头”
    特点:队列只能在队头和队尾进行数据操作
        队列模型具有先进先出的规律
思路分析:
    基于列表完成数据存储
    通过封装进行数据操作
    确定列表的那一段作为对头
"""
class queueerror(exception):
    pass
class queue:
    def __init__(self):
        self._queue = []
    # 入队,列表尾部定义为队尾
    def enqueue(self, val):
        self._queue.append(val)
    # 出队
    def dequeue(self):
        if not self._queue:
            raise queueerror("queue is empty")
        return self._queue.pop(0)
    # 判断队列是否为空
    def is_empty(self):
        return self._queue == []
if __name__ == "__main__":
    q = queue()
    q.enqueue(10)
    q.enqueue(20)
    q.enqueue(30)
    while not q.is_empty():
        print(q.dequeue())
    # 将队列中的数据倒叙加入队列中
    from lstack import *
    sq = queue()
    ls = lstack()
    for item in range(10):
        sq.enqueue(item)
    # 队列中的数据不为空,把数据加入栈中
    while not sq.is_empty():
        ls.push(sq.dequeue())
    # 栈中的数据不为空,把栈中的数据加入队列
    while not ls.is_empty():
        sq.enqueue(ls.pop())
    while not sq.is_empty():
        print(sq.dequeue())
网站地图