1 题目要求
1.1 问题描述
以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
1.2 基本要求
实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i, j, d)的形式输出,其中,(i, j)指示迷宫的一个坐标,d表示走到下一坐标的方向。
编写递归形式的算法,求得迷宫中所有可能的通路;
以方阵形式输出迷宫及其通路
2 设计思路
用‘穷举解法’方法解决迷宫问题 ,储存结构:用栈储存
建立一个二维数组表示迷宫的路径(0表示通道,1表示墙壁)
创建一个栈,用来存储“当前路径”,即“在搜索过程中某一时刻所在图中某个方块位置”。
创建一个Int类型的二维数组intmaze[n1][n2],用来存放0和1 ;
创建一个结构体用来储存数组信息(数组的横坐标X,数组的纵坐标Y,方向C)
创造一个栈包括(top表示栈顶元素)
参考文档和完整的文档和源码下载地址: