fifo算法c语言代码
时间: 2023-07-26 10:15:30 浏览: 98
fifo.rar_FIFO算法c语言
5星 · 资源好评率100%
下面是一个基于C语言实现的简单FIFO算法代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10
int fifo[MAX_SIZE]; // 定义一个FIFO数组
int front = 0, rear = 0; // 定义队头和队尾指针
// 判断FIFO是否为空
int is_empty() {
return front == rear;
}
// 判断FIFO是否已满
int is_full() {
return (rear + 1) % MAX_SIZE == front;
}
// 入队操作
void enqueue(int data) {
if (is_full()) {
printf("FIFO已满,不能再插入元素\n");
return;
}
fifo[rear] = data;
rear = (rear + 1) % MAX_SIZE;
}
// 出队操作
int dequeue() {
if (is_empty()) {
printf("FIFO为空,不能再删除元素\n");
return -1;
}
int data = fifo[front];
front = (front + 1) % MAX_SIZE;
return data;
}
// 输出FIFO中的元素
void display() {
printf("FIFO队列中的元素为:");
int i = front;
while (i != rear) {
printf("%d ", fifo[i]);
i = (i + 1) % MAX_SIZE;
}
printf("\n");
}
int main() {
// 入队操作
enqueue(1);
enqueue(2);
enqueue(3);
enqueue(4);
// 输出FIFO中的元素
display();
// 出队操作
int a = dequeue();
printf("出队元素为:%d\n", a);
// 再次输出FIFO中的元素
display();
return 0;
}
```
这个代码实现了一个最基本的FIFO队列,包括入队、出队和输出FIFO中的元素等操作。在使用时,可以根据需要对代码进行修改和优化,以满足具体的应用需求。
阅读全文