Python实现数据结构——队列 Python

队列(Queue) 队列是一种 先进先出(FIFO,First In First Out) 的线性结构。元素从队尾入队,从队首出队。 1. 使用 collections.deque(高效)
PYTHON
from collections import deque

# 创建空队列
q = deque()

# 入队
q.append(1)   # 队尾添加
q.append(2)
q.append(3)

# 出队
front = q.popleft()
print(front)   # 1

# 查看队首元素(不弹出)
print(q[0])    # 2
2. 定义队列类(基于列表,注意性能)
PYTHON
class Queue:
    """队列的实现(列表模拟)"""
    def __init__(self):
        self.items = []

    def enqueue(self, item):
        """入队(从队尾添加)"""
        self.items.append(item)

    def dequeue(self):
        """出队(从队首移除)"""
        if self.is_empty():
            raise IndexError("队列为空,无法出队")
        return self.items.pop(0)   # 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()
q.enqueue('A')
q.enqueue('B')
q.enqueue('C')
print(q.dequeue())   # A
print(q.front())     # B
print(q.size())      # 2
提示:实际开发中推荐 collections.deque,其 popleft() 是 O(1) 操作。 ---
← 返回列表

评论 (0)

登录后可以发表评论

立即登录
💬

还没有评论,快来发表第一条评论吧!