杨辉三角,即如下
通过学习数据结构,解决杨辉三角,可以使用循环来实现:在循环队列中依次存放第 i-1 行上的元素,然后逐个出队并打印,同时生成第 i 行上的元素并入队。
如果要求计算并输出杨辉三角前 n 行的值,则队列的最大空间应为 n+2。假设队列中已存有第 k 行的计算结果,为了计算方便,在两行之间添加一个 0 作为行界值,则在计算第 k+1 行之前,头指针指向第 k 行的 0,而尾元素为第 k+1 行的0。
实现代码为:
#include
#include
#define MAXSIZE 1000 //队列的最大长度
typedef int ElemType;
typedef struct{
ElemType data[MAXSIZE];//队列的存储空间
int front,rear;//队列的队头指针和队尾指针
}CyQueue;
//初始化队列
void Init_CyQueue(CyQueue *Q){
Q->front = Q->rear =0;
}
//判断队列是否为空
int Empty_CyQueue(CyQueue *Q){
return Q->rear &#