举例c语言队列怎么操作
时间: 2024-01-30 20:03:59 浏览: 20
以下是一个使用数组实现的简单队列的示例代码,包括队列的初始化、入队、出队、判断队列是否为空等操作:
```c
#include <stdio.h>
#define MAX_SIZE 100
// 定义队列结构体
struct Queue {
int data[MAX_SIZE];
int front, rear;
};
// 初始化队列
void InitQueue(struct Queue* Q) {
Q->front = Q->rear = 0;
}
// 判断队列是否为空
int IsEmpty(struct Queue* Q) {
return Q->front == Q->rear;
}
// 判断队列是否已满
int IsFull(struct Queue* Q) {
return (Q->rear + 1) % MAX_SIZE == Q->front;
}
// 入队
void EnQueue(struct Queue* Q, int x) {
if (IsFull(Q)) {
printf("Queue is full.\n");
return;
}
Q->data[Q->rear] = x;
Q->rear = (Q->rear + 1) % MAX_SIZE;
}
// 出队
int DeQueue(struct Queue* Q) {
if (IsEmpty(Q)) {
printf("Queue is empty.\n");
return -1;
}
int x = Q->data[Q->front];
Q->front = (Q->front + 1) % MAX_SIZE;
return x;
}
int main() {
struct Queue Q;
InitQueue(&Q); // 初始化队列
EnQueue(&Q, 1); // 入队
EnQueue(&Q, 2);
EnQueue(&Q, 3);
while (!IsEmpty(&Q)) { // 遍历队列并出队
printf("%d ", DeQueue(&Q));
}
printf("\n");
return 0;
}
```
输出结果为:
```
1 2 3
```
以上代码仅作示例,实际使用时需要考虑队列的具体应用场景和需求,编写相应的队列操作函数。