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

#define MAX_SIZE 5 // 定义队列的最大容量

typedef struct { int data[MAX_SIZE]; // 存储队列元素的数组 int front; // 队头指针 int rear; // 队尾指针 } Queue;

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

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

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

// 入队 void enqueue(Queue *q, int x) { if (is_full(q)) { printf('队列已满,无法入队!\n'); exit(1); } q->data[q->rear] = x; q->rear = (q->rear + 1) % MAX_SIZE; }

// 出队 int dequeue(Queue *q) { if (is_empty(q)) { printf('队列已空,无法出队!\n'); exit(1); } int x = q->data[q->front]; q->front = (q->front + 1) % MAX_SIZE; return x; }

int main() { Queue q; init(&q); // 初始化队列

int x;
for (int i = 0; i < MAX_SIZE; i++) {
    scanf('%d', &x);
    enqueue(&q, x); // 入队
}

for (int i = 0; i < MAX_SIZE; i++) {
    x = dequeue(&q); // 出队
    printf('%d ', x);
}

printf('\n');
return 0;

}

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

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

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