没有合适的资源?快使用搜索试试~ 我知道了~
数据结构-迷宫-实验报告及代码.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 92 浏览量
2021-10-02
11:55:31
上传
评论
收藏 84KB DOC 举报
温馨提示
试读
14页
数据结构-迷宫-实验报告及代码.doc
资源推荐
资源详情
资源评论
. .
一.需求分析
本程序是利用非递归的方法求出一条走出迷宫的路径,并将路径
输出。首先由用户输入一组二维数组来组成迷宫,确认后程序自动
运行,当迷宫有完整路径可以通过时,以 0 和 1 所组成的迷宫形式
输出,标记所走过的路径完毕程序;当迷宫无路径时,提示输入错
误完毕程序。程序执行的命令:1 创立迷宫 ;2 求解迷宫;3 输出
迷宫求解;
二.算法设计
本程序中采用的数据模型,用到的抽象数据类型的定义,程序的
主要算法流程及各模块之间的层次调用关系
程序根本构造:
设定栈的抽象数据类型定义:
. .word.zl.
. .
ADTStack {
数据对象:D={ | ∈CharSet,i=1,2,3,…..,n,n>=0;}
数据关系:R={< , >| , ∈D,i=2,…,n}
设置迷宫的抽象类型
ADT maze{
数据对象:D={ai|ai∈‘’,‘’,‘#’,‘1’,i=1,2,…,n,n>=0}
数据关系:R={r,c}
r={<ai-1,ai>|ai-1,ai∈D, i=1,2,…,n,}
c=<ai-1,ai>|ai-1,ai∈D, i=1,2,…,n,}
构造体定义:
typedef struct //迷宫中 x 行 y 列的位置
{ int x;
int y;
}PosType;
typedef struct //栈类型
{ int ord; //通道块在路径上的“序号〞
PosType seat; //通道块在迷宫中的“坐标位置〞
int di; //从此通道块走向下一通道块的“方向〞
}MazeType;
typedef struct
{ MazeType *base;
MazeType *top;
int stacksize;
}MazeStack;
根本函数:
Status InitStack(MazeStack &S)// 新建一个栈
Status Push(MazeStack &S, MazeType &e)// 入栈
Status Pop(MazeStack &S, MazeType &e)// 出栈
Status StackEmpty(MazeStack &S)// 判断是否为空
Status MazePath(PosType start, PosType end)// 迷宫路径求解
void FootPrint(PosType pos)
PosType NextPos(PosType curPos, int &i)
. .word.zl.
. .
void MakePrint(PosType pos)
三.程序设计
根据算法设计中给出的有关数据和算法,选定物理构造,详细设
计需求分 析中所要 求的程序。包 括:人机 界面设计 、主要功 能的 函
数设计、函数之间调用关系描述等。
1 界面设计
1〕迷宫界面
2〕迷宫路径显示
2 主要功能
1)入栈操作
. .word.zl.
剩余13页未读,继续阅读
资源评论
gjmm89
- 粉丝: 14
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功