编辑代码

#include <stdio.h>
#include <stdlib.h>
 
#define QUEUE_SIZE 5
 
int queue[QUEUE_SIZE];
int head = 0;
int tail = 0;
 
// 入队操作
void enqueue(int value) {
    if ((tail + 1) % QUEUE_SIZE == head) {
        printf("队列已满\n");
        return;
    }
    queue[tail] = value;
    tail = (tail + 1) % QUEUE_SIZE;
}
 
// 出队操作
int dequeue() {
    if (head == tail) {
        printf("队列为空\n");
        return -1; // 错误标志
    }
    int result = queue[head];
    head = (head + 1) % QUEUE_SIZE;
    return result;
}
 
// 打印队列
void printQueue() {
    for (int i = head; i != tail; i = (i + 1) % QUEUE_SIZE) {
        printf("%d ", queue[i]);
    }
    printf("\n");
}
 
int main() {
    // 入队操作
    enqueue(1);
    enqueue(2);
    enqueue(3);
    printQueue(); // 输出: 1 2 3
 
    // 出队操作
    printf("出队元素: %d\n", dequeue());
    printf("出队元素: %d\n", dequeue());
    printQueue(); // 输出: 3
 
    // 入队操作
    enqueue(4);
    enqueue(5);
    printQueue(); // 输出: 3 4 5
 
    return 0;
}