第一次作迷宫类的问题比较懵逼,题目希望大家指点一下;
问题如下:
/*TODO:广度优先遍历查找迷宫最短路径
功能描述:广度优先遍历查找迷宫最短路径,并打印出路径对应的坐标信息,从矩阵中的终点位置,沿8个方向,查找值为0的点,
利用q.x[]存放值为0的数据对应的横坐标的值,q.y[]存放值为0的数据对应的纵坐标的值,
g.flag[][]存放结点是否访问过,访问过设置为1,未被访问设置为0
q.pre[]存放当前结点所对应的前驱结点在q.x[],q.y[]中的数组下标信息。
打印出迷宫的坐标信息
printf("(%d,%d)\n", 横坐标, 纵坐标);
例如迷宫矩阵如下:
0 1 1
1 0 1
1 1 0
根据(2,2)位置,查找和它相邻的并且值为0的结点,即坐标为(1,1)的结点
如果(2,2)在q.x[],q.y[]的下标为0,即q.x[0] = 2 q.y[0] = 2
那么,(1,1)点对应的q.pre[] = 0;
迷宫的最短路径输出为:
(0,0)
(1,1)
(2,2)
参数说明:g-AdjMatrix型参数
q-Queue型队列
返回值说明:无
*/
int m, n; //行数,列数;
typedef struct {