狼追兔子数据结课程设计.docVIP

  • 19
  • 0
  • 约9.63千字
  • 约 16页
  • 2016-10-19 发布于贵州
  • 举报
狼追兔子数据结课程设计

青岛大学软件技术学院 游戏算法实践报告 姓 名 曹宁 专 业 数字媒体艺术 班 级 10级 4班 指导教师 刘春秋 2013年 1 月 16日 目录 1 问题定义与描述 3 1.1 问题定义 3 1.2 问题描述 3 2 关键技术 3 3 数据的组织 3 3.1数据类型定义 3 3.2数据存储结构 4 4 总体设计 4 4.1 系统模块图 4 4.2栈的基本操作 4 4.3顺序表的基本操作 4 5 详细设计 5 5.1顺序存储的线性表 5 6 测试结果及分析 7 7 心得体会 8 附录:程序代码 9 1问题定义与描述 1.1 问题定义 现实中很多利用顺序表,栈解决一些数学模型问题 1.2 问题描述 围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你可以先到1号洞找我,第二次隔一个洞(即3号洞)找,第三次隔两个洞(即6号洞)找,以后如此类推,次数不限。”但狐狸从早到晚进进出出1000次,但仍没有找到兔子,问兔子究竟藏身于哪个洞里 2.关键技术 顺序表一次申请多个包括结构体定义的。N为整数,这样得到的就是N个连续的空间。顺序表可以利用类似于数组的形式访问,即通过下标访问。当然定义的变量类型必须是指针类型的,很方便,当然也可以通过像链表一样的访问单链表只是将空间分散开了,这样的优点就是动态申请,需要多少就申请多少,一般一次申请一个空间结点,即N=1。在程序设计中,为了处理方便, 把具有相同类型的若干按有序的形式组织起来。这些按序排列的同类数据元素的集合称为。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。栈以顺序结构实现,队列以链表结构实现。顺序存储,大概意思就是把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间逻辑关系由存储单元的邻接关系来体现 主要用在线性的数据结构 图4.1 顺序表系统模块图 4.2栈的基本操作 定义栈的顺序存取结构,分别定义栈的基本操作(初始化栈、判栈为空、入栈、出栈等),通过定义函数实现。 4.3顺序表的基本操作 在顺序存储结构实现基本操作:初始化、创建、插入、删除运算。 6 测试结果及分析 运行程序,程序主界面如图6.1所示。 图6.1 程序的主界面 运行结果如图6.2 图6.2 程序的运行结果 7心得体会 本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。 我的课程设计题目。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查 阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通 过同学间的帮助最终基本解决问题。 在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合 作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对C有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合 素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解 和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还 有更重要的一点是:机器是比任何更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。 通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。 总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。 #includestdio.h #includestdlib.h #include windows.h #define StackSize 100 typedef int DataType; typedef

文档评论(0)

1亿VIP精品文档

相关文档