本篇文章中所有数据结构都是后期整理的,如有问题欢迎指正,转载请注明出处http://www.cnblogs.com/a1982467767/p/8889625.html
1,问题描述
以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。迷宫问题要求求出从入口(1,1)到出口(m,n)的一条通路,或得出没有通路的结论。 基本要求: 首先实现一个以链表作存储结构的栈类型,然后编写一个求迷宫问题的非递归程序,求得的通路,其中:(i,j)指示迷宫中的一个坐标, d表示走到下一坐标的方向。 左上角(1,1)为入口,右下角(m,n)为出口。
2.设计思路:
用队列实现迷宫问题的求解;
3.实验代码:
队列实现:
********************************************************************************************
1 //maze_queue.cpp 2 #include3 #include 4 #include 5 #include"seqqueue.h" 6 7 #define MAX_ROW 12 8 #define MAX_COL 14 9 10 int maze[12][14] = { 11 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 13 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 14 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 15 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 16 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 17 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1,