python实现队列

队列(Queue)

队列是一种先进先出(FIFO)的线性表数据结构。它像队伍一样,首先进入队列的元素最先出队列,就像排队买票,首先进来的人先买到票离开。

队列常见的操作有:

  • 入队(Enqueue) - 将元素加入队尾
  • 出队(Dequeue) - 将队头的元素移除队列
  • 查看队头元素 - 返回队列最前面的元素但不移除
  • 判断队列为空 - 判断队列内是否还有元素
  • 判断队列满了 - 根据队列的最大长度判断是否可继续插入

队列通常需要设置最大长度来避免内存溢出。

Python 实现队列

使用 Python 列表来实现队列的操作很简单:

class Queue:
    def __init__(self, max_size):
        self.items = [] 
        self.max_size = max_size
    
    def enqueue(self, item):
        if len(self.items) == self.max_size:
            print('Queue is full!')
        else:
            self.items.append(item)

    def dequeue(self):
        if len(self.items) > 0:
            return self.items.pop(0)
        else:
            print('Queue is empty!')

    def peek(self):
        if len(self.items) > 0:
            return self.items[0]
        else:
            print('Queue is empty!')

    def size(self):
        return len(self.items)

    def is_empty(self):
        return self.items == [] 

q = Queue(3)
q.enqueue('A')
q.enqueue('B')
q.enqueue('C')

print(q.dequeue())
print(q.peek())
print(q.size())

队列作为一种先进先出的数据结构,在消息队列、缓冲区等应用中很常用。理解队列的操作和实现可以帮助编写许多程序。

你可能感兴趣的:(python,python,开发语言,数据结构)