核心思想:第一步:先创建队列1存放0,1,0三个数,再创建一个空队列2,首位置添0,取0,1相加进入 队列2,取1,0相加进入队列2,然后队列2末尾添0,清空队列1
第二步:队列1首尾添0,取队列2前两位相加进入队列1,取队列2第2,3位相加进入队列1.......队列1末尾添0;
如此往复,写出杨辉三角形
#ifndef _YANGHUI_H
#define _YANGHUI_H
#define SUCCESS 10000
#define FAILURE 10001
#define SIZE 100
struct senquencequeue1
{
int data1[SIZE];
int rear1;
int front1;
};
typedef struct senquencequeue1 Queue1;
struct senquencequeue2
{
int data2[SIZE];
int rear2;
int front2;
};
typedef struct senquencequeue2 Queue2;
int Q1init(Queue1 *q1);
int Q2init(Queue2 *q2);
int yanghui(Queue1 *q1, Queue2 *q2);
#endif
#include "yanghui.h"
#include <stdio.h>
int Q1init(Queue1 *q1)
{
if(NULL == q1)
{
return FAILURE;
}
q1->rear1 = q1->front1 = 0;
return SUCCESS;
}
int Q2init(Queue2 *q2)
{
i