编写一个程序,在自定义函数中完成功能(1) (2) (3) (a)并在主函数完成功能 (5)。(1) 初始化循环队列Q (2)将元素e入循环队列。 (3)将循环队列队头完素出队列并保存到元素e中。 (4) 从队头到队尾依次输出队列Q中的元素
时间: 2024-10-20 10:02:27 浏览: 41
在Python中,我们可以使用内置的`collections.deque`模块来实现循环队列的功能,因为它支持高效的添加和删除操作。下面是一个简单的示例,展示了如何编写这样一个程序:
```python
from collections import deque
# 定义循环队列类
class CircularQueue:
def __init__(self):
self.queue = deque()
# 功能(1): 初始化循环队列
def init_queue(self):
print("初始化循环队列")
self.queue = deque()
# 功能(2): 将元素e入循环队列
def enqueue(self, e):
print(f"将元素 {e} 入队")
self.queue.append(e)
# 功能(3): 将循环队列队头元素出队并保存到元素e中
def dequeue(self):
if not self.is_empty():
print(f"出队元素: {self.queue.popleft()}")
return self.queue[0] # 返回队首元素
else:
print("队列为空")
# 检查队列是否为空
def is_empty(self):
return len(self.queue) == 0
# 功能(a): 从队头到队尾依次输出队列中的元素
def print_queue(self):
if not self.is_empty():
print("队列元素:")
for element in self.queue:
print(element)
else:
print("队列为空")
# 主函数功能(5): 创建队列实例并进行操作
def main():
q = CircularQueue()
q.init_queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
print("队列元素: ")
q.print_queue()
e = q.dequeue()
print(f"队首元素: {e}")
q.print_queue()
if __name__ == "__main__":
main()
```
在这个例子中,我们首先创建了一个`CircularQueue`类,并实现了所需的四个功能。在主函数`main()`中,我们创建了这个类的一个实例,进行了初始化、入队、出队以及打印队列的操作。
阅读全文