2022年实验报告——迷宫问题 .pdf
《2022年实验报告——迷宫问题 .pdf》由会员分享,可在线阅读,更多相关《2022年实验报告——迷宫问题 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实习 2 栈的应用本次实习的主要目的在于帮助学生深入了解栈的特性,以便在实际问题背景下灵活运用他们;同时还将巩固对栈这种结构的构造方法的理解。实验课时6 课时程序 1:迷宫问题问题描述以一个 mn 的长方阵表示迷宫, 0和 1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。基本要求首先实现一个以顺序表或链表做存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如:对下列数据的迷宫,输出的一条通路为: (1,1,1) , (1,
2、2,2) , (2,2, 2) ,测试数据迷宫的测试数据如下:左上角(1,1)为入口,右下角(3,4)为出口。 实现提示 计算机解迷宫通常用的是“穷举求解” 方法,即从入口出发, 顺着某一个方向进行探索,若能走通, 则继续往前进;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止,如果所有可能的通路都试探过,还是不能走到终点,那就说明该迷宫不存在从起点到终点的通道,可以二维数组存储迷宫数据。程序实现 #include #include /1.迷宫位置坐标类型typedef struct int x;/ 行int y;/ 列PosType; #define MAXENGTH 2
3、5 /迷宫最大行列数位25 typedef int MazeTypeMAXENGTHMAXENGTH;/迷宫数列11111111111111111111110000000!012345名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - typedef struct/定义栈 int ord;/ 通道块在路径上的序号PosType seat;/通道块在迷宫中的位置int di;/ 走向下一块的方向(03 表示东、南、西、北)SElemT
4、ype; /2.全局变量MazeType m;/迷宫数组int curstep=1;/ 当前位置,初值为1 #define STACK_INIT_SIZE 10/存储空间初始分配量#define STACKINCREMENT 2/存储空间分配增量/3.栈的顺序存储表示typedef struct SqStack SElemType *base;/尾指针SElemType *top;/ 头指针int stacksize;/栈大小SqStack;/ 顺序表/4.构造空栈int InitStack(SqStack &S) S.base=(SElemType *)malloc(STACK_INIT_S
5、IZE*sizeof(SElemType); if(!(S.base) exit(0); S.top=S.base; S.stacksize=STACK_INIT_SIZE; return 1; /5.判断栈是否为空(用来判断迷宫是否不可达到出口)int StackEmpty(SqStack S) if(S.top=S.base)/栈底与栈顶相等为空栈return 1; else return 0; /6.插入元素int Push(SqStack &S,SElemType e) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
6、师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - if(S.top-S.base=S.stacksize)/ 栈顶 -栈底 =栈长,说明空间已满 S.base=(SElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType); if(!S.base) exit(0); S.top=S.base+S.stacksize; S.stacksize+=STACKINCREMENT; *(S.top)+=e; return 1; /7.栈不为空时,删除栈顶元素,用e 返
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年实验报告迷宫问题 2022 实验 报告 迷宫 问题
限制150内