本关的编程任务是补全右侧代码片段isFull、isEmpty、enQueue和deQueue中Begin至End中间的代码,具体要求如下: 在isFull中,判断队列是否为满,若满返回true并在一行打印The queue is Full,否则返回false; 在isEmpty中,判断队列是否为空,若空返回true并在一行打印The queue is Empty,否则返回false; 在enQueue中,实现入队操作:将元素item加入队列尾部; 在deQueue中,实现出队操作:移除队列首部元素,并返回元素值。
时间: 2024-02-21 20:00:59 浏览: 93
cpp代码-队列的静态实现
好的,这是一个关于循环队列的编程任务,下面是代码片段:
```python
class CircularQueue:
def __init__(self, k: int):
self.k = k
self.q = [-1] * k
self.head = 0
self.tail = 0
def isFull(self) -> bool:
if self.tail - self.head == self.k:
print("The queue is Full")
return True
return False
def isEmpty(self) -> bool:
if self.head == self.tail:
print("The queue is Empty")
return True
return False
def enQueue(self, item: int) -> bool:
if self.isFull():
return False
self.q[self.tail % self.k] = item
self.tail += 1
return True
def deQueue(self) -> int:
if self.isEmpty():
return -1
item = self.q[self.head % self.k]
self.head += 1
return item
```
需要注意的是,这里使用了循环数组实现循环队列,因为循环数组可以很好地解决队列满时的问题。同时,在入队和出队操作中,我们需要使用取余操作确保循环队列的循环性质。
阅读全文