C语言队列实现:输入5个数并按顺序入队出队
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
原文地址: https://www.cveoy.top/t/topic/nIuT 著作权归作者所有。请勿转载和采集!