第1关:循环队列
时间: 2023-07-24 20:16:01 浏览: 104
好的,下面是需要补充的代码片段:
```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
if __name__ == "__main__":
q = CircularQueue(3)
q.enQueue(1)
q.enQueue(2)
q.enQueue(3)
q.enQueue(4)
print(q.q)
print(q.deQueue())
print(q.q)
print(q.deQueue())
print(q.q)
print(q.deQueue())
print(q.q)
print(q.deQueue())
```
这段代码实现了一个循环队列,并在主函数中进行入队和出队操作。注意,在入队时,我们需要判断队列是否为满,如果满了则返回False;在出队时,我们需要判断队列是否为空,如果为空则返回-1。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)