C语言队列实现:输入5个数并按顺序入队出队

本示例使用C语言实现队列数据结构,并演示如何输入5个数字,将它们按顺序入队,然后将它们逐个出队并输出。

代码如下:

#include <stdio.h>
#define MAX_SIZE 5

// 定义队列结构
typedef struct {
    int data[MAX_SIZE];
    int front;
    int rear;
} Queue;

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

// 入队操作
void enQueue(Queue *q, int value) {
    if ((q->rear + 1) % MAX_SIZE == q->front) {
        printf("队列已满\n");
        return;
    }
    q->data[q->rear] = value;
    q->rear = (q->rear + 1) % MAX_SIZE;
}

// 出队操作
int deQueue(Queue *q) {
    if (q->front == q->rear) {
        printf("队列为空\n");
        return -1;
    }
    int value = q->data[q->front];
    q->front = (q->front + 1) % MAX_SIZE;
    return value;
}

int main() {
    Queue q;
    int i, num;

    // 初始化队列
    initQueue(&q);

    // 输入5个数字并入队
    printf("输入5个数字:\n");
    for (i = 0; i < 5; i++) {
        scanf("%d", &num);
        enQueue(&q, num);
    }

    // 出队并输出
    printf("出队顺序:\n");
    while (q.front != q.rear) {
        num = deQueue(&q);
        printf("%d ", num);
    }

    return 0;
}

输入形式:

1 2 3 4 5

输出形式:

1 2 3 4 5

C语言队列实现:输入5个数并按顺序入队出队

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

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