*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年春季学期
算法与数据结构 课程设计
题 目: 迷宫问题
专业班级:计算机科学与技术一班 姓 名: 程文鑫 学 号: 10240127 指导教师: 张永 成 绩:
目 录
摘 要 .................................................................................................................................................. 3 前 言 .................................................................................................................................................. 4 正 文 .................................................................................................................................................. 5
一、采用c++语言定义相关的数据类型 .................................................................................... 5 二、各模块的伪码算法 ............................................................................................................... 6 三、函数的调用关系图 ............................................................................................................. 10 四、调试分析 ............................................................................................................................ 11 五、测试结果 ............................................................................................................................ 12 1、开始界面 .............................................................................................................................. 12 2、自动生成迷宫运行情况 ....................................................................................................... 12 3、键盘输入迷宫运行情况 ....................................................................................................... 14 总 结 ................................................................................................................................................ 16 致 谢 ................................................................................................................................................ 17 参考文献 ............................................................................................................................................ 18 附 录 ................................................................................................................................................ 19
源程序(带注释)..................................................................................................................... 19
摘 要
本程序主要是对任意给定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。使我们基本掌握线性表及栈上基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。
1、生成迷宫:根据提示输入数据,然后生成一个8行8列的迷宫。 2、探索迷宫路径:由输入的入口位置开始,对相邻的(上,下,左,右)四个方向的方块进行探索,若可通则“纳入路径”,否则顺着“来向”退到“前一通道块”,朝着“来向”之外的其它方向继续探索。
3、保存迷宫路径:若探索到出口则把探索到的路径压入另一个栈中,并最后弹出路径坐标,输出在屏幕上。
关键字:栈,栈的存储结构,出栈与入栈