输出循环队列中的元素需要怎样的代码
时间: 2024-05-12 15:18:30 浏览: 14
以下是输出循环队列中的元素的代码示例:
```python
# 定义循环队列类
class CircularQueue:
def __init__(self, k: int):
self.queue = [None] * k
self.head = 0
self.tail = 0
self.size = 0
def enQueue(self, value: int) -> bool:
if self.isFull():
return False
self.queue[self.tail] = value
self.tail = (self.tail + 1) % len(self.queue)
self.size += 1
return True
def deQueue(self) -> bool:
if self.isEmpty():
return False
self.queue[self.head] = None
self.head = (self.head + 1) % len(self.queue)
self.size -= 1
return True
def Front(self) -> int:
if self.isEmpty():
return -1
return self.queue[self.head]
def Rear(self) -> int:
if self.isEmpty():
return -1
return self.queue[(self.tail - 1) % len(self.queue)]
def isEmpty(self) -> bool:
return self.size == 0
def isFull(self) -> bool:
return self.size == len(self.queue)
# 输出循环队列中的元素
def printQueue(queue: CircularQueue):
if queue.isEmpty():
print("Queue is empty")
return
result = ""
for i in range(queue.size):
result += str(queue.queue[(queue.head + i) % len(queue.queue)]) + " "
print(result)
# 使用示例
cq = CircularQueue(5)
cq.enQueue(1)
cq.enQueue(2)
cq.enQueue(3)
cq.enQueue(4)
cq.enQueue(5)
printQueue(cq) # 输出:1 2 3 4 5
cq.deQueue()
printQueue(cq) # 输出:2 3 4 5
cq.enQueue(6)
printQueue(cq) # 输出:2 3 4 5 6
```
该代码实现了循环队列的基本操作,包括入队、出队、判断是否为空、判断是否已满、获取队首元素和获取队尾元素等。输出循环队列中的元素,需要遍历队列中所有元素并依次输出即可。