fifo算法c语言代码
时间: 2023-10-27 09:15:37 浏览: 39
下面是一个简单的FIFO算法的C语言代码实现,供参考:
```c
#include <stdio.h>
#define SIZE 5
int queue[SIZE];
int front = -1, rear = -1;
void enqueue(int x) {
if (rear == SIZE - 1) {
printf("Queue is full\n");
} else {
if (front == -1) {
front = 0;
}
rear++;
queue[rear] = x;
}
}
void dequeue() {
if (front == -1) {
printf("Queue is empty\n");
} else {
printf("Dequeue element: %d\n", queue[front]);
front++;
if (front > rear) {
front = rear = -1;
}
}
}
void display() {
if (rear == -1) {
printf("Queue is empty\n");
} else {
int i;
printf("Queue elements are: ");
for (i = front; i <= rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
enqueue(40);
display();
dequeue();
display();
return 0;
}
```
在这个例子中,`enqueue()`函数将元素添加到队列中,`dequeue()`函数将队列的第一个元素删除,并将队列指针向前移动,`display()`函数打印出队列中的所有元素。请注意,这个实现使用了一个固定大小的数组来表示队列。