请简述C语言中的队列,并给出例子
时间: 2024-03-25 20:41:38 浏览: 64
队列是一种数据结构,它遵循先进先出(FIFO)原则。队列有两个基本操作:入队(enqueue)和出队(dequeue)。入队是将元素添加到队列的尾部,出队是从队列的头部移除元素。队列可以用数组或链表实现。
以下是一个用数组实现的队列的例子:
```c
#include <stdio.h>
#define MAX_SIZE 10
int queue[MAX_SIZE];
int front = -1;
int rear = -1;
void enqueue(int item) {
if (rear == MAX_SIZE - 1) {
printf("Queue is full!\n");
} else {
if (front == -1) {
front = 0;
}
rear++;
queue[rear] = item;
printf("%d enqueued to queue.\n", item);
}
}
void dequeue() {
if (front == -1 || front > rear) {
printf("Queue is empty!\n");
} else {
printf("%d dequeued from queue.\n", queue[front]);
front++;
}
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
dequeue();
dequeue();
dequeue();
dequeue();
return 0;
}
```
在上面的例子中,我们定义了一个长度为10的数组作为队列,front和rear分别表示队列的头部和尾部。enqueue和dequeue函数分别实现了入队和出队操作。在程序的主函数中,我们先将10、20、30三个元素入队,然后依次出队,最后尝试再次出队时会提示队列为空。
阅读全文