#include<malloc.h>
#include<stdlib.h>
#include<stdio.h>
//定义参数
int m,n; //迷宫行数和列数
int **maze = NULL; //指向指针的指针
struct Element
{
int i; //行坐标
int j; //列坐标
int di; //表示走到下一个坐标的方向
};
typedef struct LinkStack //定义链栈
{
struct Element element;
struct LinkStack * next;
struct LinkStack * prior;
}LinkStack;
LinkStack *top = NULL;
LinkStack *head = NULL;
int count=0;
void printMaze(int ** maze) //输出已设定的迷宫
{
int i,j;
printf("您的迷宫图如下所示:\n");
for(i=0; i<m+2; i++)
{
for(j=0; j<n+2; j++)
{
printf("%4d",maze[i][j]);
}
printf("\n");
}
printf("\n******************************\n");
}
void addWall(int ** maze) //给迷宫加墙
{
int i,j;
for(i=0; i<m+2; i++)
{
for(j=0; j<n+2; j++) {
if(i==0){
maze[i][j] = 1;
}
if(i>0 && i<(m+2-1)) {
maze[i][0]=1;
maze[i][n+2-1]=1;
break;
}
if(i==m+2-1) {
maze[i][j]=1;
}
}
}
}
int ** initMaze() //迷宫初始化