Python语言生成环形队列

该代码示例展示了如何用Python创建一个环形队列类CircularQueue,包括初始化、添加元素(enqueue)和移除元素(dequeue)的方法。队列的容量由构造函数传入,当队列满或空时,有相应的处理逻辑。
摘要由CSDN通过智能技术生成

下面是使用Python语言生成环形队列的代码示例:

class CircularQueue:
    def __init__(self, capacity):
        self.capacity = capacity
        self.queue = [None] * capacity
        self.front = -1
        self.rear = -1
    
    def enqueue(self, item):
        if ((self.rear + 1) % self.capacity == self.front):
            print("Queue is full\n")
        elif (self.front == -1):
            self.front = 0
            self.rear = 0
            self.queue[self.rear] = item
        else:
            self.rear = (self.rear + 1) % self.capacity
            self.queue[self.rear] = item
    
    def dequeue(self):
        if (self.front == -1):
            print("Queue is empty\n")
        elif (self.front == self.rear):
            temp = self.queue[self.front]
            self.front = -1
            self.rear = -1
            return temp
        else:
            temp = self.queue[self.front]
            self.front = (self.front + 1) % self.capacity
            return temp

在这个代码中,我们使用了一个类 CircularQueue 来表示环形队列。构造函数 init 接受一个 capacity 参数,表示队列的容量。在构造函数中,我们创建一个长度为 capacity 的列表,用来存储队列中的元素。我们还定义了两个变量 front 和 rear,分别表示队列的前端和后端。当队列为空时,这两个变量都被初始化为 -1。

在 enqueue 方法中,我们首先检查队列是否已满。如果是,我们输出一个错误消息。否则,我们检查队列是否为空。如果是,我们将 front 和 rear 都设置为 0,并将元素插入到队列中。否则,我们将 rear 向前移动一位,并将元素插入到队列中。

在 dequeue 方法中,我们首先检查队列是否为空。如果是,我们输出一个错误消息。否则,我们检查队列中是否只有一个元素。如果是,我们将 front 和 rear 都设置为 -1,并返回队列中唯一的元素。否则,我们返回队列的第一个元素,并将 front 向前移动一位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

义薄云天us

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值