综合实验二迷宫问题实现

上传人:第*** 文档编号:36330893 上传时间:2018-03-27 格式:DOC 页数:4 大小:31KB
返回 下载 相关 举报
综合实验二迷宫问题实现_第1页
第1页 / 共4页
综合实验二迷宫问题实现_第2页
第2页 / 共4页
综合实验二迷宫问题实现_第3页
第3页 / 共4页
综合实验二迷宫问题实现_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《综合实验二迷宫问题实现》由会员分享,可在线阅读,更多相关《综合实验二迷宫问题实现(4页珍藏版)》请在金锄头文库上搜索。

1、综综合合实验实验二二 迷迷宫问题实现宫问题实现、实验名称迷宫问题的实现、实验目的1、熟练栈的结构特性,掌握在实际问题背景下的应用。2、熟悉并掌握栈的基本操作; 3、掌握栈的典型应用迷宫问题的实现。、实验内容及要求:1、 实验内容: 以一个 m*n 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。设计一个程序, 对任意设定的迷宫,求出一条从入口到出口的通路。或得出没有通路的结论。 2、 数据结构设计 根据以上问题给出存储结构定义:typedef struct/定义坐标 int x; int y; item;/定义坐标和方向typedef struct int x; int y; int

2、 d; dataType;/定义顺序栈的类型定义typedef struct dataType dataMAXLEN; int top; SeqStack;item move8;/8 邻域试探方向数组 int mazeM+2N+2=1,1,1,1,1,1,1,1,1,1, 1,0,1,1,1,0,1,1,1,1, 1,1,0,1,0,1,1,1,1,1, 1,0,1,0,0,0,0,0,1,1, 1,0,1,1,1,0,1,1,1,1, 1,1,0,0,1,1,0,0,0,1, 1,0,1,1,0,0,1,1,0,1, 1,1,1,1,1,1,1,1,1,1 ;/定义迷宫数组,0 表示有路径,

3、1 表示不存在路径 3、基本操作的函数设计 void print_Path(SeqStack* s);/输出迷宫路线SeqStack* InitSeqStack();/该函数初始化一个空栈,并返回指向该栈的存储单元首地址int Push(SeqStack *s,dataType x)/将元素 x 入栈 s,若入栈成功返回结果 1;否则返回 0int StackEmpty(SeqStack *s)/该函数判断栈是否为空,若栈空返回结果 1;否则返回 0int Pop(SeqStack *s,dataType *x)/将栈顶元素出栈,放入 x 所指向的存储单元中,若出栈返回结果 1;否则返回 0v

4、oid init_move(item move8)/初始化 8 邻域方向int find_Path(int mazeM+2N+2,item move8)/在迷宫 maze 二维数组中按 move 的 8 邻域方向探测迷宫路线,存在返回 1,否则/返回 0void print_Path(SeqStack* s)/输出栈 s 中所有迷宫路径3、 实验要求 (1) 、用 C 语言编程实现上述实验内容中的结构定义和算法。 (2) 、要有 main()函数,并且在 main()函数中使用检测数据调用上述算法。 (3) 、实验完成后撰写实验报告,实验报告的具体格式参见实验报告须知 。 (4) 、实验完成后

5、把打印好的实验报告以及电子版的实验报告和源程序一并上交。、参考源代码:void main()/主函数init_move(move);/初始化迷宫探测方向数组if(!find_Path(maze,move)/求迷宫路径printf(“迷宫路径不存在“);、运行测试:第 1 次入栈元素为:(1,1)1 第 2 次入栈元素为:(2,2)1 第 3 次入栈元素为:(3,3)0 第 4 次入栈元素为:(3,4)0 第 5 次入栈元素为:(3,5)0 第 6 次入栈元素为:(3,6)0 第 7 次入栈元素为:(3,6)3 第 8 次入栈元素为:(4,5)1 第 9 次入栈元素为:(5,6)0 第 10 次入栈元素为:(5,7)0 第 11 次入栈元素为:(5,8)2 迷宫路径为: (1,1)1-(2,2)1-(3,3)0-(3,4)0-(3,5)0-(3,6)3-(4,5)1-(5,6)0-(5,7)0-(5,8)2 Press any key to continue

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号