c语言队列基本操作,请用代码展示
时间: 2023-05-19 09:02:42 浏览: 77
以下是 C 语言队列的基本操作代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int front;
int rear;
} Queue;
void initQueue(Queue *q) {
q->front = q->rear = 0;
}
int isQueueEmpty(Queue *q) {
return q->front == q->rear;
}
int isQueueFull(Queue *q) {
return (q->rear + 1) % MAX_SIZE == q->front;
}
int enQueue(Queue *q, int x) {
if (isQueueFull(q)) {
printf("Queue is full.\n");
return 0;
}
q->data[q->rear] = x;
q->rear = (q->rear + 1) % MAX_SIZE;
return 1;
}
int deQueue(Queue *q, int *x) {
if (isQueueEmpty(q)) {
printf("Queue is empty.\n");
return 0;
}
*x = q->data[q->front];
q->front = (q->front + 1) % MAX_SIZE;
return 1;
}
int main() {
Queue q;
initQueue(&q);
enQueue(&q, 1);
enQueue(&q, 2);
enQueue(&q, 3);
int x;
deQueue(&q, &x);
printf("%d\n", x);
deQueue(&q, &x);
printf("%d\n", x);
deQueue(&q, &x);
printf("%d\n", x);
deQueue(&q, &x);
return 0;
}
```
以上代码实现了队列的初始化、判空、判满、入队、出队等基本操作。