杨辉三角是一个由数字组成的三角形,每个数字是它上面两个数字之和。下面是使用 C 语言
实现利用队列打印杨辉三角的代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
Node* createNode(int data) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
return newNode;
}
void enqueue(Node** front, int data) {
Node* newNode = createNode(data);
if (*front == NULL) {
*front = newNode;
} else {
Node* temp = *front;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
int dequeue(Node** front) {
if (*front == NULL) {
return -1; // 队列为空,返回-1 表示错误
} else {
int data = (*front)->data;
Node* temp = *front;
*front = (*front)->next;
free(temp);
return data;
}
}