使用一个足够大的数组建立一个循环队列,然后从键盘输出若干个元素,依次进入队列
时间: 2024-09-19 07:13:05 浏览: 36
C语言数组-C语言实现使用静态数组实现循环队列.zip
在使用一个足够大的数组建立循环队列时,我们通常会设置两个指针,一个用于存放新元素(rear),另一个用于读取元素(front)。当队列满时,新的元素会覆盖第一个元素的位置,形成一个“循环”。以下是基本步骤:
1. 初始化:创建一个固定大小的数组`queue[]`,并设置`front = rear = 0`(初始时队列为空,首尾指针相等)。
2. 入队(enqueue):用户输入一个元素,如果`rear + 1`小于数组长度,则将元素存放在`queue[rear]`,然后`rear++`;如果`rear == front`,则说明队列已满,此时需要处理溢出,通常将`front`重置为0。
3. 出队(dequeue):如果`front`等于`rear`,说明队列空,无法出队。否则,打印`queue[front]`,并将`front++`。
下面是一个简单的Python示例代码,假设数组大小为5:
```python
queue = [None] * 5
front = rear = 0
while True:
# 用户输入元素
user_input = input("请输入一个元素(或输入'quit'退出): ")
if user_input.lower() == 'quit':
break
# 入队操作
queue[rear] = user_input
rear = (rear + 1) % len(queue)
# 如果队列不满,出队并打印元素
if front != rear:
print(f"出队元素:{queue[front]}")
front = (front + 1) % len(queue)
```
在这个例子中,用户可以持续输入元素直到手动停止程序。每次队列满了,新输入的元素就会替换掉最早的一个元素,实现了循环队列的效果。
阅读全文