数据结构迷宫求解问题

[问题描述]
以一个m╳n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
[基本要求]
(1)实现一个以链表作为存储结构的栈类型,然后编写一个求解迷宫的非递归程序;
(2)程序中以二维数组表达迷宫数据,迷宫数据由文件读入,文件的格式如下:第1行数据为迷宫的行数m和列数n;第2行至第m+1行(每行n个数)为迷宫值,同一行中的两个数字以空格隔开。如图1所示,为一个9╳8的迷宫的测试数据:(2)迷宫的入口位置和出口位置有用户随时设定,当用户输入非法信息时,提示错误;
(3)若设定的迷宫存在通路,则以长方阵形式将迷宫及其通路输出到屏幕上,如图2所示,以字符“#”表示障碍,字符“*”表示路径上的位置,字符“@”表示“死胡同”,即曾途经然而不能到达出口的那些位置,其余用空格符印出。若迷宫不存在通路,则报告相应的信息。