队列(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

