迷宫在这儿——–>(用二维数组实现)
栈的应用有很多,前面解决了括号问题和后缀表达式问题,迷宫便可以解决了!!
迷宫的解题思路有点绕,并且其栈的结构也有所改变!但是本次解决迷宫仍然用的普通的栈
首先:迷宫如下(1表示通路,0表示非通路)
0 0 0 0 0 0
0 0 1 0 0 0
0 0 1 0 0 0
0 0 1 1 1 0
0 0 1 0 1 1
0 0 1 0 0 0
解题思路:
迷宫结构,以及位置结构
typedef struct Position //位置结构体
{
int _x;
int _y;
}Position;
#define MAX_ROW 6
#define MAX_COL 6
typedef struct Maze //迷宫结构体
{
int _map[MAX_ROW][MAX_COL]; //一张地图
}Maze;
一些辅助判断函数
//初始化位置
void PositionInit(Position* pos, int row, int col)
{
assert(pos);
pos->_x = row;
pos-&g