用C语言写一个创建队列的代码
时间: 2023-04-10 22:00:53 浏览: 57
可以的,以下是一个简单的用C语言创建队列的代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10
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 value) {
if (isQueueFull(q)) {
return 0;
}
q->data[q->rear] = value;
q->rear = (q->rear + 1) % MAX_SIZE;
return 1;
}
int deQueue(Queue *q, int *value) {
if (isQueueEmpty(q)) {
return 0;
}
*value = 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 value;
while (deQueue(&q, &value)) {
printf("%d ", value);
}
printf("\n");
return 0;
}
```
这个代码使用了一个结构体来表示队列,其中包含一个数组来存储队列中的元素,以及两个指针来表示队列的头和尾。在初始化队列时,头和尾指针都指向数组的第一个位置。在入队操作时,将元素添加到队列尾部,并将尾指针向后移动一位。在出队操作时,将队列头部的元素取出,并将头指针向后移动一位。