数据结构栈求解迷宫问题(C 语言版) /*数据结构 C 语言版 栈求解迷宫问题P50-52 利用栈求解迷宫问题编译环境:Dev-C++ 4
2日期:2025 年 2 月 12 日 *//***************头文件**********************/// 迷宫坐标位置类型typedef struct {int x;// 行值 int y;// 列值 }PosType;#define MAXLENGTH 25 // 设迷宫的最大行列为 25 typedef int MazeType[MAXLENGTH][MAXLENGTH]; // 迷宫数组[行][列] typedef struct // 栈的元素类型 {int ord; // 通道块在路径上的"序号" PosType seat; // 通道块在迷宫中的"坐标位置" int di; // 从此通道块走向下一通道块的"方向"(0~3 表示东~北) }SElemType;// 全局变量 MazeType m; // 迷宫数组int curstep=1; // 当前足迹,初值为 1 #define STACK_INIT_SIZE 10 // 存储空间初始分配量 #define STACKINCREMENT 2 // 存储空间分配增量 // 栈的顺序存储表示 P46 typedef struct SqStack{SElemType *base; // 在栈构造之前和销毁之后,base 的值为 NULL SElemType *top;// 栈顶指针 int stacksize;// 当前已分配的存储空间,以元素为单位 }SqStack;// 顺序栈/****************实现************************/ //构造一个空栈 Sint InitStack(SqStack *S){/