#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 5

typedef struct Queue {
    int data[MAX_SIZE];
    int front; // 队头指针
    int rear;  // 队尾指针
} Queue;

// 初始化队列
void initQueue(Queue *queue) {
    queue->front = queue->rear = 0;
}

// 判断队列是否为空
int isQueueEmpty(Queue *queue) {
    return queue->front == queue->rear;
}

// 判断队列是否已满
int isQueueFull(Queue *queue) {
    return (queue->rear + 1) % MAX_SIZE == queue->front;
}

// 入队
void enQueue(Queue *queue, int data) {
    if (isQueueFull(queue)) {
        printf("队列已满,无法入队!\n");
        return;
    }
    queue->data[queue->rear] = data;
    queue->rear = (queue->rear + 1) % MAX_SIZE;
}

// 出队
int deQueue(Queue *queue) {
    if (isQueueEmpty(queue)) {
        printf("队列已空,无法出队!\n");
        return -1;
    }
    int data = queue->data[queue->front];
    queue->front = (queue->front + 1) % MAX_SIZE;
    return data;
}

int main() {
    Queue queue;
    initQueue(&queue);

    int i, data;
    printf("请输入5个数字,以空格分隔:\n");
    for (i = 0; i < MAX_SIZE; i++) {
        scanf("%d", &data);
        enQueue(&queue, data);
    }

    printf("出队的元素依次为:");
    while (!isQueueEmpty(&queue)) {
        printf("%d ", deQueue(&queue));
    }
    printf("\n");

    return 0;
}
``
输入5个数并按输入顺序入队5个数都输入完成后请用C语言编写代码将它们逐个出队并输出输入形式:1 2 3 4 5输出形式:1 2 3 4 5

原文地址: http://www.cveoy.top/t/topic/dwYa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录