C 语言中的队列输出284


队列是一种遵循先入先出 (FIFO) 原则的数据结构。在 C 语言中,队列可以通过数组或链表实现。本文将演示如何使用数组实现队列并进行输出。

数组实现

使用数组实现队列需要定义一个固定大小的数组来存储元素。队列的两个重要指针:头部 (front) 和尾部 (rear),分别指向队列中的第一个元素和最后一个元素。初始时,头部和尾部都指向数组的第一个元素。

以下代码展示了如何使用数组实现队列:#include
#include
#define MAX_SIZE 100
// 声明一个固定大小的数组作为队列
int queue[MAX_SIZE];
// 头部和尾部指针
int front = 0, rear = 0;
// 入队操作
void enqueue(int data) {
// 如果队列已满
if (rear == MAX_SIZE) {
printf("队列已满,无法入队");
return;
}
// 将数据插入队列的尾部
queue[rear] = data;
// 更新尾部指针
rear++;
}
// 出队操作
int dequeue() {
// 如果队列为空
if (front == rear) {
printf("队列为空,无法出队");
return -1;
}
// 获取队列头部的元素
int data = queue[front];
// 更新头部指针
front++;
// 返回出队的元素
return data;
}
// 输出队列
void display() {
// 如果队列不为空
if (front != rear) {
// 从头部到尾部遍历队列并打印元素
for (int i = front; i < rear; i++) {
printf("%d ", queue[i]);
}
printf("");
} else {
printf("队列为空");
}
}
int main() {
// 入队一些元素
enqueue(10);
enqueue(20);
enqueue(30);
enqueue(40);
enqueue(50);
// 输出队列
printf("当前队列:");
display();
// 出队一些元素
printf("出队元素:%d", dequeue());
printf("出队元素:%d", dequeue());
// 输出队列
printf("当前队列:");
display();
return 0;
}

输出结果当前队列:10 20 30 40 50
出队元素:10
出队元素:20
当前队列:30 40 50

其他实现

除了使用数组,也可以使用链表实现队列。链表实现提供了更灵活的内存分配,可以根据需要动态调整队列的大小。以下是一些其他可能用到的 C 语言中的队列函数:
isEmpty():检查队列是否为空。
isFull():检查队列是否已满。
peek():获取队列头部的元素而不删除它。
clear():清空队列。

2025-01-27


上一篇:C 语言 max 函数:查找最大值

下一篇:C语言指针的函数