C语言实现先进先出(FIFO)队列
先进先出(FIFO)队列是一种常见的数据结构,它遵循“先进先出”的原则,即最先进入队列的元素最先被取出。在实际应用中,FIFO队列经常用于缓存、消息队列等场景。
C语言可以方便地实现FIFO队列。下面是一个简单的FIFO队列实现示例代码:
#include <stdio.h>
#include <stdlib.h>
// 定义队列结构体
typedef struct Queue {
int* data; // 队列数据
int size; // 队列大小
int front; // 队头指针
int rear; // 队尾指针
} Queue;
// 初始化队列
Queue* initQueue(int size) {
Queue* q = (Queue*) malloc(sizeof(Queue));
q->data = (int*) malloc(sizeof(int) * size);
q->size = size;
q->front = 0;
q->rear = 0;
return q;
}
// 判断队列是否为空
int isEmpty(Queue* q) {
return q->front == q->rear;
}
// 判断队列是否已满
int isFull(Queue* q) {
return (q->rear + 1) % q->size =&