杨辉三角队列实现.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
杨辉三角显示实验报告 问题描述: 编写程序,根据输入的行数,屏幕显示杨辉三角。 基本要求: (1)行数不大于20行。 (2)基于队列的操作来实现杨辉三角的不断生成过程。(注:不要用其它的公式计算的方法或者二维数组来实现) (3)基于数组实现队列的物理数据结构 需求分析: 1、输入形式:输入一个整数n ,0=n=20 2、输出形式:打印出来前(n+1)行的杨辉三角数列 3、功能实现:输出前20层的杨辉三角序列 4、样例输入输出:(数据加强版) 输入:10 输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 5、效率分析:O(n) 概要设计: 利用到队列先进先出的性质(First In First Out),基本的算法实现是利用已经进队的元素在其出队之前杨辉三角的下一行数列,----即利用要出队的元素来不断地构造新的进队的元素,即在第N行出队的同时,我们来构造杨辉三角的第N+1行,从而实现打印杨辉三角的目的。 详细设计: 算法思想已经在概要设计中提到了,现在通过基于队列基本操作的函数以及程序的模块化思想来实现杨辉三角的打印输出问题。 算法函数描述: 队列类: 队列类的数据成员: int front,rear,//ront和rear分别是指向队头和队尾的指针 maxsize;//队列中的元素数 int* listArray //存放队列中的元素 队列的基本操作: Void Queue(int ) function://构造一个空队列 Void EnQueue(,int x) :function://将元素x入队 Void outQueue():function://删除队头元素,并用x返回其值 int getvalue()/取得队头的值 int length()//返回队列中元素的个数 通过在main函数中首先打印处第一二行并将大二行的数据存入队列中,根据用户输入的行数n;在for循环中反复的调用Void EnQueue(,int x)、Void outQueue()、 int getvalue()等函数来实现杨辉三角的打印. 调试分析: 调试了很久,主要是在答应第二行以后的数列时的算法有点差错,最后,在队列类添加了int getvalue()函数,解决了算法的不足;还有运行时出现的错误,内存溢出,最后发现在对rear和front进行操作时没有除maxsize取余导致内存溢出; 测试数据: 实验心得 这次试验中做的相对比较轻松,因为在上机课上之前我看了下题目,想了下这个题目的大概算法,并且上网查了些资料,所以上课之前有了大概的思路,所以半个小时左右就做出来了。所以课前预习是个不错的方法,而且自己思考的时间也会长一点,收获还是挺多的。

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档