C语言写简单的队列函数
时间: 2024-04-30 22:23:07 浏览: 14
以下是一个简单的队列函数的示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int queue[MAX_SIZE];
int front = 0;
int rear = -1;
void enqueue(int data) {
if (rear == MAX_SIZE - 1) {
printf("Queue is full.\n");
return;
}
rear++;
queue[rear] = data;
}
int dequeue() {
if (front > rear) {
printf("Queue is empty.\n");
return -1;
}
int data = queue[front];
front++;
return data;
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
printf("%d\n", dequeue());
printf("%d\n", dequeue());
printf("%d\n", dequeue());
printf("%d\n", dequeue());
return 0;
}
```
该函数包含两个主要操作:enqueue()将数据添加到队列中,dequeue()将数据从队列中删除并返回它。队列使用一个数组来实现,并且具有固定的最大大小。如果队列已满,则enqueue()函数将输出一条错误消息。如果队列为空,则dequeue()函数将输出一条错误消息并返回-1。在示例代码中,enqueue()函数使用rear指针向队列的末尾添加数据,dequeue()函数使用front指针从队列的开头删除数据。