当前位置:首页python > 正文

队列(Queue)—— 顺序队列实现与基本操作

作者:野牛程序员:2025-12-22 11:46:53python阅读 2107
队列(Queue)—— 顺序队列实现与基本操作
# /*
# 队列(Queue)—— 顺序队列实现与基本操作
# --------------------------------------------------------
# 概念:
# 队列是一种遵循 先进先出(FIFO) 原则的数据结构。
# 元素从队尾进入,从队头移出。
#
# 常见用途:
# 1) 打印任务排队
# 2) 线程任务调度
# 3) 消息队列(如 MQ)
# 4) 生产者 - 消费者模型
#
# 使用 Python 列表实现基本队列,
# 封装 enqueue、dequeue、front、is_empty 等常用操作。
# */

class Queue:
    def __init__(self):
        self.items = []

    # 入队
    def enqueue(self, value):
        self.items.append(value)

    # 出队
    def dequeue(self):
        if self.is_empty():
            return None
        return self.items.pop(0)

    # 查看队头
    def front(self):
        if self.is_empty():
            return None
        return self.items[0]

    # 判断是否为空
    def is_empty(self):
        return len(self.items) == 0

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


# --------------------------------------------------------
# 示例演示

q = Queue()

print("入队元素 10、20、30")
q.enqueue(10)
q.enqueue(20)
q.enqueue(30)
print("当前队列内容:", q.items)

print("查看队头:", q.front())

print("出队:", q.dequeue())
print("出队后队列:", q.items)

print("继续出队:", q.dequeue())
print("再次出队:", q.dequeue())
print("队列是否为空:", q.is_empty())

# --------------------------------------------------------
# 要点总结:
# 1) 队列结构特点:先进先出(FIFO);
# 2) 基本操作:enqueue、dequeue、front、is_empty;
# 3) 列表 pop(0) 为顺序队列常用实现方式;
# 4) 若需要高性能队列推荐 collections.deque;
# 5) 队列广泛应用于排队系统、线程调度、广度优先搜索 BFS 等场景。
# */

#
# 入队元素 10、20、30
# 当前队列内容: [10, 20, 30]
# 查看队头: 10
# 出队: 10
# 出队后队列: [20, 30]
# 继续出队: 20
# 再次出队: 30
# 队列是否为空: True


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 队列(Queue)—— 顺序队列实现与基本操作
  • 相关推荐

    最新推荐

    热门点击