#头文件
//Stack.h
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdlib.h>
#include"Maze.h"
#define MAX 100
typedef struct Position DataType;
typedef struct Stack
{
int top;
DataType stack[MAX];
}Stack;
void StackInit(Stack* s);
void StackPush(Stack* s, DataType data);
void StackPop(Stack* s);
DataType GetStackTop(Stack*s);
int GetStackSize(Stack*s);
int StackEmpty(Stack *s);
#pragma once
//Maze.h
#include <stdio.h>
#include <string.h>
#include <assert.h>
#define ROW 6
#define COL 6
typedef struct Maze
{
int _map[ROW][COL];
}Maze;
typedef struct Position
{
int _x;
int _y;
}Position;
// 初始化迷宫
void InitMaze(Maze* m, int map[ROW][COL]);
// 打印迷宫
void PrintMaze(Maze* m);
// 检测是否为有效入口
int IsValidEnter(Maze* m, Position enter);
// pos 必须在地图中 pos位置如果是1
int IsPass(Maze* m, Position pos);
// 检测是否在出口的位置
int IsExit(Position pos, Position enter);
// 走迷宫
void PassMaze(Maze* m, Position enter);
#操作函数
//Stack.c
#include"Stack.h"
void StackInit(Stack* s)
{
s->top = 0;
}
void Sta