杨辉三角队列实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网上看了许多杨辉三角队列实现的代码,结果运行时都或多或少有点小问题,为此我提供一份自己运行正确的。

程序无误,细心做一下

注意,这是做成三个文件运行的

第一个文件命名 stdafx.h

#include

#include

#define Max 50

struct queue

{

int *base;

int front;

int rear;

};

typedef struct queue *SqQueue;

SqQueue InitQueue();//队列的初始化

int EnQueue(SqQueue Q,int e);//数据进队(从队尾传值)

int DeQueue(SqQueue Q);//数据出队(返回队头)

void YHPrint(SqQueue Q,int n);//打印杨辉三角

void jiemian();//界面函数,方便调用(个人习惯)

第二个文件命名为 stdafx.c

#include "stdafx.h"

int GetQueueFirstData(SqQueue Q)

{ return Q->base[Q->front];

}

int isEmptyQueue(SqQueue Q)

{ if(Q->front=Q->rear)

return 1;

else

return 0;

}

SqQueue InitQueue()

{ SqQueue Q;

Q=(SqQueue)malloc(sizeof(struct queue));

if (Q==NULL)

return NULL;

Q->base=(int *)malloc(Max*sizeof(int));

if(Q->base==NULL)

return NULL;

Q->front=Q->rear=0;

return Q;

}

int EnQueue(SqQueue Q,int e)

{

if((Q->rear+1)%Max==Q->front)

return 0;

Q->base[Q->rear]=e;

Q->rear=(Q->rear+1)%Max;

return 1;

}

int DeQueue(SqQueue Q)

{ int e;

if(Q->front==Q->rear)

return 0;

e=Q->base[Q->front];

Q->front=(Q->front+1)%Max;

return e;

}

void YHPrint(SqQueue Q,int n)

{

int i,j,k,s1;

int s2;

for(i=1;i<=n;i++)

{

for(k=0;k

printf(" ");

for(j=1,s1=0;j

{

s2=DeQueue(Q);

printf("%d",s1+s2);

printf(" ");

EnQueue(Q,s1+s2);

s1=s2;

}

printf("1");

EnQueue(Q,1);

printf("\n");

}

}

void jiemian()

{

int n,t;

SqQueue Q;

printf("杨辉三角:执行请输入:1,退出请输入:2!\n");

scanf("%d",&t);

do{

switch(t)

{

case 1:{

Q=InitQueue();

printf("请输入杨辉三角的层数:\n");

scanf("%d",&n);

YHPrint(Q,n);

};break;

case 2:printf("欢迎再次使用!");break;

default:printf("输入错误:");break;

}

if(t==1)

{

printf("你还想继续使用吗?继续请输入:1,退出请输入:2!\n");

scanf("%d",&t);

}

}while(t==1);

}

第三个主程序命名 succeed.c

就可以了,这样模块化。

#include "stdafx.c"

int main()

{

jiemian();

return 0;

}

程序无误,细心做一下

给代码链接,自己运行

Qq网盘

/1bb49fc61d3aea83a13fc8f1783cab87百度云

/s/1geKPYsr

相关文档
最新文档