数据结构(C语言)用队列打印杨辉三角
时间: 2024-12-19 20:15:03 浏览: 41
数据结构中的杨辉三角是一个经典的组合数学问题,它通常用动态规划的思想来解决。在C语言中,我们可以使用数组或链表作为队列的数据结构来构建并打印杨辉三角。这里我将简述一种常见的做法,使用一维数组来表示队列,并逐行生成杨辉三角。
首先,我们需要定义一个大小为n+1的数组`triangle`,其中`triangle[i][j]`将存储第i行第j个位置的数字。然后我们从第一行开始,逐步填充这个数组:
```c
#include <stdio.h>
#define SIZE 50 // 根据需要调整
void printYuanHuiTriangle(int n) {
int triangle[SIZE][SIZE]; // 初始化二维数组
triangle[0][0] = 1; // 第一行只有一个元素
for (int i = 1; i <= n; ++i) {
for (int j = 0; j <= i; ++j) {
if (j == 0 || j == i) { // 首尾元素值为1
triangle[i][j] = 1;
} else { // 中间的元素通过上两层相加得到
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}
for (int i = 0; i <= n; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%d ", triangle[i][j]); // 横向打印三角形
}
printf("\n"); // 结束一行后换行
}
}
int main() {
int n = 5; // 杨辉三角的层数
printYuanHuiTriangle(n);
return 0;
}
```
在这个代码中,`printYuanHuiTriangle`函数负责生成和打印杨辉三角。运行这段程序,你可以看到指定层数的杨辉三角被打印出来。
阅读全文
相关推荐


















