文档介绍:数据结构杨辉三角实验报告数据结构实验报告——杨辉三角显示实验四杨辉三角显示一(问题描述:编写程序,根据输入的行数,屏幕显示杨辉三角。二(基本要求:(1)行数不大于20行。(2)基于队列的操作来实现杨辉三角的不断生成过程。(注:不要用其它的公式计算的方法或者二维数组来实现)(3)基于数组实现队列的物理数据结构三(需求分析:1、输入形式:输入一个整数n,0=n=202、输出形式:打印出来前(n+1)行的杨辉三角数列3、功能实现:输出前20层的杨辉三角序列4、样例输入输出:(数据加强版)输入:10输出:1n=111n=2121n=31331n=414641n=515101051n=61615201561n=7172135352171n=818285670562881n=9193684126126843691n=105、效率分析:O(n)四(概要设计既然要用到队列来打印杨辉三角,那么肯定会利用到队列FILO的性质(FirstInLaseOut),由于是要打印一个数列,那么肯定要利用已经进队的元素在其出队之前完成杨辉三角的递归性----即利用要出队的元素来不断地构造新的进队的元素,即在第N行出队的同时,我们来构造杨辉三角的第N+1行,从而实现打印杨辉三角的目的。五(源程序:#includeiostreamusingnamespacestd;#defineMaxSize1001typedefstruct{doublest[MaxSize];inttop;}Stack;intmain(){intt;cint;getchar();while(t--){StackS;=-1;charch;boolf=1;while(cinch,ch!='#'){if(ch=='')continue;if(f){//coutchendl;if(ch='0'&&ch='9')[++]=ch-'0';else{if()f=0;if(f){if(ch=='+'){[-1]+=[];--;}elseif(ch=='-'){[-1]-=[];--;}elseif(ch=='*'){[-1]*=[];--;}elseif(ch=='/'){if([]==0){f=0;continue;}[-1]-=[];--;}}}}}if(f&&==0)printf(%.2lf\n,[]);elsecoutError!endl;}system(pause);return0;}六(测试结果:篇二:数据结构杨辉三角实验报告问题描述编写程序,根据输入的行数,屏幕显示杨辉三角。基本要求(1)行数不大于20行。(2)基于队列的操作来实现杨辉三角的不断生成过程。(注:不要用其它的公式计算的方法或者二维数组来实现)(3)基于数组实现队列的物理数据结构。输入输出输入n,6输出1n=011n=1121n=21331n=314641n=415101051n=51615201561n=6概要设计:杨辉三角基本操作:SeqQueue()操作结果:构造一个空队列QmakeEmpty()初始条件:队列Q已存在操作结果:将Q清为空队列IsEmpty()初始条件:队列Q已存在操作结果:若Q为空队列,则返回TRUE,否则FALSEgetSize()初始条件:队列Q已存在操作结果:返回Q的元素个数,即队列长度EnQueue(constT&x)初始条件:队列Q已存在操作结果:若队列不满,则将x进队,否则一处处理DeQueue(T&x);初始条件:Q为非空队列操作结果:删除Q的队头元素,并用x返回其值具体程序////-------------------------------------------循环队列的类定义#includeiostreamtemplateclassTclassSeqQueue{public:SeqQueue(){maxSize=20;element=newT[maxSize];front=0;rear=0;}~SeqQueue(){delete[]element;}//析构函数boolEnQueue(constT&x);////进出队//若队列不满,则将x进队,否则一处处理boolDeQueue(T&x);//若