云南大学软件学院数据结构实验报告四

云南大学软件学院数据结构实验报告四

ID:38733413

大小:153.50 KB

页数:13页

时间:2019-06-18

云南大学软件学院数据结构实验报告四_第1页
云南大学软件学院数据结构实验报告四_第2页
云南大学软件学院数据结构实验报告四_第3页
云南大学软件学院数据结构实验报告四_第4页
云南大学软件学院数据结构实验报告四_第5页
资源描述:

《云南大学软件学院数据结构实验报告四》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、云南大学软件学院数据结构实验报告(本实验项目方案受“教育部人才培养模式创新实验区(X3108005)”项目资助)实验难度:A□B√C□序号学号姓名成绩12指导教师(签名)学  期:2012秋季学期任课教师:  实验题目:迷宫小组长:    云南大学软件学院2010学年秋季学期《数据结构实验》成绩考核表学号:姓名:本人承担角色:学号:姓名:本人承担角色:评分项目评分指标分值得分实验构思(10%)1.实验目的明确52.实验内容理解透彻、对实验所涉及到的知识点分析到位5实验设计(15%)1.有对基本数据结构的抽象数据类型定义52.实验方案设计完整,数据结构、算法选择合理53.算法结构和程序

2、功能模块之间逻辑清晰、有相应的流程图5实验实现(25%)1.代码编写规范、风格统一、注释清楚易读52.程序运行正常,测试结果正确153.界面友好、易于操作、有较强的容错性5实验报告撰写(10%)1.内容详实无缺漏,文字流畅、图表清楚52.实验结果分析客观、详细,实验体会真实可信,对原实验方案的改进和对实验内容的发散性思考5个人工作量(30%)1.个人完成工作量152.个人技术水平103.团队合作精神5实验运作(10%)1.有一定用户群52.应用前景分析5综合得分:(满分100分)指导教师:(注:此表在难度为C时使用,每个成员一份。)(下面的内容由学生填写,格式统一为,字体:楷体,行距

3、:固定行距18,字号:小四,个人报告按下面每一项的百分比打分。难度A满分70分,难度B满分90分)一、【实验构思(Conceive)】(10%)1.创建四个文件,stack.h头文件、queue.h头文件、maze.h头文件和main.cpp主文件2.栈文件用于在移动玩家位置过程中,将移动的方向保存到栈中。然后在修改玩家位置时,用出栈的元素判断前方是地图的哪边。然后将这个元素保存到队列中,等玩家走出迷宫后,输出走过的路径。3.maze头文件:(1)迷宫(二位数组)中的元素数据类型为自己构造的maze类型。里面有二位数组的位置y(行),x(列)、有substance为char类型、有l

4、eft、right、up、down四个方位,表示二位数组中的绝对坐标关系。(2)maze*JudgeRight(maze*player,maze*playerF)这个函数是用于传入玩家当前位置和前方位置,来返回右手边的地址。(3)maze*JudgeFront(maze*player,char&go)这个函数利用玩家的当前位置,和刚刚直走以后的方向,来返回前方的地址。(4)maze*GoToFront(maze*player,maze*playerF,structstack&S)这个函数是传入玩家的当前位置,前方位置,然后修改当前位置的地址,并返回。其中还要把移动的方向压入栈中。5.

5、主文件里面创建10X10的二维数组来表示迷宫,并且初始化迷宫中的元素,确立其绝对坐标,确立绝对的邻居关系。接下来利用迷宫口诀:“伸出右手,摸着墙顺着走”,即“如果右手边不是墙,则,右转后直走;如果右手边是墙,前方没墙,则直走;右手边是墙,前方有墙,则左转”,做一个循环,如果玩家到了'u'才结束。其中有入栈,出栈,入队的操作。迷宫走出来以后,利用岀队函数输出玩家走过的路径。二、【实验设计(Design)】(20%)1.可以直接利用实验三(魔王语言)中的栈和队列头文件。栈文件用于在maze.h头文件中的一个函数:maze*GoToFront(maze*&player,maze*&play

6、erF,structstack&S)这个函数是在移动玩家位置过程中,将移动的方向保存到栈中。然后在修改玩家的前方位置时,用出栈的元素判断前方是地图的哪边。然后将这个元素保存到队列中,等玩家走出迷宫后,输出走过的路径。2.maze头文件:(1)迷宫(二位数组)中的元素数据类型为自己构造的maze类型。里面有二位数组的位置y(行),x(列),这样表示的方便是能直观利用坐标。元素中还有substance为char类型,其中有'w'表示墙、'e'表示空、'p'表示玩家、'u'表示出口。还有left、right、up、down四个方位,表示二位数组中的绝对坐标关系。(2)maze*JudgeR

7、ight(maze*player,maze*playerF)函数:在里面定义一个maze型指针playerR,然后判断:如果前方就坐标的下方,那么playerR是坐标中的左方;如果前方就坐标的上方,那么playerR是坐标中的右方;如果前方就坐标的左方,那么playerR是坐标中的上方;如果前方就坐标的右方,那么playerR是坐标中的下方。然后返回playerR。(3)maze*JudgeFront(maze*player,char&go)函数:在里面定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。