输入5个数并按输入顺序入队5个数都输入完成后将它们逐个出队并输出请用C语言编写代码实现输入形式:1 2 3 4 5输出形式:1 2 3 4 5
#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("Queue is full.\n"); exit(1); } q->data[q->rear] = x; q->rear = (q->rear + 1) % MAX_SIZE; }
int dequeue(Queue *q) { if (is_empty(q)) { printf("Queue is empty.\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 i, x;
for (i = 0; i < MAX_SIZE; i++) {
scanf("%d", &x);
enqueue(&q, x);
}
while (!is_empty(&q)) {
printf("%d ", dequeue(&q));
}
printf("\n");
return 0;
原文地址: http://www.cveoy.top/t/topic/dwZt 著作权归作者所有。请勿转载和采集!