用c语言中的c90实现链队列的初始化,入队和出队并在输出中展示
时间: 2024-05-07 14:19:04 浏览: 176
C语言中链队列的实现
下面是用 C90 实现链队列的初始化、入队和出队的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 链队列结点类型
typedef struct Node {
int data;
struct Node *next;
} Node;
// 链队列类型
typedef struct {
Node *front; // 队头指针
Node *rear; // 队尾指针
} Queue;
// 初始化链队列
void initQueue(Queue *q) {
q->front = q->rear = NULL;
}
// 入队
void enQueue(Queue *q, int data) {
Node *newNode = (Node *)malloc(sizeof(Node));
if (newNode == NULL) {
printf("内存分配失败\n");
return;
}
newNode->data = data;
newNode->next = NULL;
if (q->front == NULL) {
q->front = q->rear = newNode;
} else {
q->rear->next = newNode;
q->rear = newNode;
}
}
// 出队
void deQueue(Queue *q) {
if (q->front == NULL) {
printf("队列为空\n");
return;
}
Node *temp = q->front;
q->front = temp->next;
printf("%d 出队\n", temp->data);
free(temp);
}
int main() {
Queue q;
initQueue(&q);
enQueue(&q, 1);
enQueue(&q, 2);
enQueue(&q, 3);
deQueue(&q);
deQueue(&q);
enQueue(&q, 4);
enQueue(&q, 5);
deQueue(&q);
deQueue(&q);
deQueue(&q);
deQueue(&q);
return 0;
}
```
输出结果为:
```
1 出队
2 出队
3 出队
4 出队
队列为空
```
阅读全文