全球旧事资料 分类
西安邮电学院西安邮电学院
数据结构设计报告

目:
迷宫问题迷宫问题
院系名称:院系名称:专业名称:专业名称:班级:
计算机学院软件工程10021002班吴云汉04103071王燕
学生姓名:学生姓名:学号(学号(8位):指导教师:指导教师:
设计起止时间:设计起止时间:2011年11月28日2011年12月11日
f一:设计目的
仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方法
设计内容二设计内容
1迷宫的建立:迷宫中存在通路和障碍,为了方便迷宫的创建,可用0表示通路,用1表示障碍,这样迷宫就可以用0、1矩阵来描述,2迷宫的存储:迷宫是一个矩形区域,可以使用二维数组表示迷宫,这样迷宫的每一个位置都可以用其行列号来唯一指定,但是二维数组不能动态定义其大小,我们可以考虑先定义一个较大的二维数组Mazemaxsizemaxsize然后用它的前m行
列来存放元素,即可得到一个m×
的二维数组。3迷宫路径的搜索:首先从迷宫的入口开始,如果该位置就是迷宫出口,则已经找到了一条路径,搜索工作结束。否则搜索其上、下、左、右位置是否是障碍,若不是障碍,就移动到该位置,然后再从该位置开始搜索通往出口的路径;若是障碍就选择另一个相邻的位置,并从它开始搜索路径。为防止搜索重复出现,则将已搜索过的位置标记为2,同时保留搜索痕迹,在考虑进入下一个位置搜索之前,将当前位置保存在一个队列中,如果所有相邻的非障碍位置均被搜索过,且未找到通往出口的路径,则表明不存在从入口到出口的路径。这实现的是广度优先遍历的算法,如果找到路径,则为最短路径
三.概要设计
1.功能模块图mazecreati
tfou
di
txi
tyPoi
theadPoi
tsecretmazeai
tpri
tPoi
tppri
tmazepathPoi
tpmazeroadvoidmai
2各个模块详细的功能描述mazecreat创建迷宫数组i
tfou
di
txi
tyPoi
theadPoi
tsecretmazea寻找迷宫出路函数i
tpri
tPoi
tp输出迷宫路径pri
tmazepathPoi
tpmazeroad路径图
fvoidmai
主函数部分
四.详细设计1.功能函数的调用关系图
f2.重点设计及编码
寻找迷宫出路函数
Poi
tsecretmazeaPoi
ttopp定义top入口、p为出口i
tjmxyj表示四个方向m用来辅助j的循环判断条件pPoi
tmallocsizeofPoi
t申请空间存放ppvex_x1pvex_y1初始化行列数值p
extNULL置空topp将p的值赋给topj1方向dowhilej4m0xtopvexr
好听全球资料 返回顶部