ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:48.65KB ,
资源ID:14969015      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14969015.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(猴子吃桃子问题数据结构课程Word文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

猴子吃桃子问题数据结构课程Word文档格式.docx

1、 本部分包括预定义常量和类型,顺序栈的定义,InitStack函数,Push函数,和main函数,在InitStack函数构造一个空栈,在Push函数中调用该函数,并在其中编写控制栈顶指针和栈底指针移动的语句,找出指针所指向的数据之间的关系,在main函数中编写控制循环结束的语句,最后再用main函数去调用Push函数。2.4 用递归实现上述求解 这种方法跟上述几种不同,在函数的执行函数的过程中,需多次进行自我调用,递归函数的运行过程类似与多个函数的嵌套调用,只是调用函数和被调用函数是同一个函数,从主函数开始调用,一次更深一层,退出时一步一步返回到上一层,所以不需写控制循环语句,不需要写控制循

2、环语句,比上几种方法简单点。3、 运行环境3.1 硬件环境PC3.2软件环境 (1)Windows XP (2)Microsoft Visual C+6.04、 详细设计4.1系统流程图4.2用数组数据结构实现上述求解/计算桃子的个数void taozi(int n,int m) int day10;/初始化变量,用数组元素分别存储每天的桃子个数 int i;/控制循环执行的次数day0=n;/最后一天的桃子个数 for(i=0;inext=NULL;/创建一个带头结点的单链表next=p;/插入到表头next-data=e;/初始化第一个结点 for(i=m-1;i0;i-) s=(LNod

3、e *) malloc(sizeof(LNode); p-next=s; s-data=2*(p-data+1);/结点与下一结点之间的联系 p=s;/指针P总是指向最后一个结点,11-m,p-data);4.4用栈数据结构实现求解/储存空间初始分配量#define STACK_INIT_SIZE 100 /顺序栈的定义typedef struct int *base;/栈底指针 int *top;/栈顶指针 int stacksize;/当前已分配的存储空间SqStack;SqStack s;/构造一个空栈int InitStack() s.base=(int *) malloc(STACK

4、_INIT_SIZE * sizeof(int); if(!s.base) exit (OVERFLOW);/存储分配失败 s.top=s.base;/刚开始栈为空 s.stacksize=20; return OK;/计算桃子个数的函数void Push(int e,int m)/ m是要计算的是第几天 InitStack(); *s.top+=e;/给栈底元素初始化 *s.top=2*(*(s.top-1)+1);/栈顶元素和刚插入的元素之间的关系 s.top+;/每插入一个栈顶元素,指针就要自加1printf(,m,*(s.top-1);4.5用递归实现上述求解int i=9;/初始化全

5、局变量/递归函数int taozi(int x)int y;while(i0) y=2*(x+1); i-; taozi(y);,y);5、 调试分析 1 在用链数据结构实现时,运行时没有显示错误,但输出不是预测的结果,代码如下: s-在指针的移动时,由于p总是第一个结点,在for循环前已经被赋值,指针P 应该总是指向最后一个结点的,所以在这句s-next=NULL前加上一句p=s就行了, 就能输出正确结果。2 在生成新结点时,一定要用强制类型转换,要不就要出错。不能把s=(LNode *) malloc(sizeof(LNode)写成s=(LNode) malloc(sizeof(LNode

6、);因为它们不属于同一类型。3 在用栈数据结构实现的过程中,虽然只有一个错误,但却显示了好多错误。主要原因是由于一个参数是在main函数中定义的,但却被其它函数调用,只要把该参数定义成全局变量就行了。4 在用while循环时,由于控制条件的不恰当导致的错误,不过只要再认真分析一下,就正确了。5 还有些其它方面的错误,不过只要看一眼,就能改正,是粗心造成的。6、运行结果 链数组和栈实现结果:递归实现结果:课程设计总结通过这一周的实践学习,我认识到学好计算机要重视实践操作,不仅仅是学习数据结构,以及其它的计算机方面的知识都要重在实践,很多以前学过的东西,在运用时都不能很熟练,也说明理论知识和实践之

7、间的差别。这就告诉了我们在以后的学习过程中要培养自己的动手能力,要将学过的知识转化为实践。作为一个计科专业的学生,通过这周的学习,使我更加明白了动手能力的重要性。在这次的课程设计中,我不断地去找书本知识和查阅其它有关资料,不仅巩固了对课本知识的掌握,还有利于以后更好的进步,提高了对课外知识的了解,虽然花费了不少时间,但只要学到有价值的东西,我认为都是值得的。在完成该试验的过程中,我问了同学和老师,还查阅了很多和链表有关系的书籍,通过学习,翻看以前学过的知识,使我明白了我在学习知识上的很多不足。不过在此同时又重新复习了课本,从中学到了许多以前未学到的知识,感觉非常有成就感,让我对自己更加有信心,

8、让我对数据结构这门课程也更感兴趣了,以前我一直感觉枯燥难学的数据结构,现在我也愿意去认真研究学习了。这次数据结构课程设计中,多亏了我的指导老师黄磊老师的悉心教导。在以后的学习过程中,我要认真负责地对待课本中的每一个知识点,进一步充实自己,提高自己。参考文献1 黄同成,黄俊民,董建寅数据结构M北京:中国电力出版社,20082 董建寅,黄俊民,黄同成数据结构实验指导与题解M北京:3 严蔚敏,吴伟民. 数据结构(C语言版)M. 北京:清华大学出版社,20024 刘振鹏,张晓莉,郝杰数据结构M北京:中国铁道出版社,2003附录: 源代码如下1 用数组数据结构编写#include day0=n;2 用链数据结构编写 #include int data;int CreateList_L(int e,int m) L=(LNode *) malloc(s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1