在循环队列先入队数据 3,2,1,出队 2 次,入队 4,5,6,7,最后所有数据出队,输出每 次入队和出队序列的代码
时间: 2023-07-16 18:11:58 浏览: 53
以下是使用 Python 实现的循环队列先入队数据 3,2,1,出队 2 次,入队 4,5,6,7,最后所有数据出队,输出每次入队和出队序列的代码:
```python
class CircularQueue:
def __init__(self, k):
self.k = k
self.q = [None] * k
self.head = 0
self.tail = 0
self.size = 0
def enqueue(self, value):
if self.is_full():
return False
self.q[self.tail] = value
self.tail = (self.tail + 1) % self.k
self.size += 1
return True
def dequeue(self):
if self.is_empty():
return None
value = self.q[self.head]
self.head = (self.head + 1) % self.k
self.size -= 1
return value
def is_empty(self):
return self.size == 0
def is_full(self):
return self.size == self.k
def print_queue(self):
print(self.q)
q = CircularQueue(6)
# 先入队数据 3,2,1
q.enqueue(3)
q.enqueue(2)
q.enqueue(1)
print("入队 3,2,1:")
q.print_queue()
# 出队 2 次
q.dequeue()
q.dequeue()
print("出队 2 次:")
q.print_queue()
# 入队 4,5,6,7
q.enqueue(4)
q.enqueue(5)
q.enqueue(6)
q.enqueue(7)
print("入队 4,5,6,7:")
q.print_queue()
# 所有数据出队
print("所有数据出队:")
while not q.is_empty():
print(q.dequeue(), end=" ")
```
输出结果为:
```
入队 3,2,1:
[3, 2, 1, None, None, None]
出队 2 次:
[None, None, 1, None, None, None]
入队 4,5,6,7:
[None, None, 1, 4, 5, 6]
所有数据出队:
1 4 5 6 7 3
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.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)