福州大学数计学院 《数据结构》上机实验报告 专业和班级:信息计算科学与应用数学6 班 学号 姓名 成绩 实验名称 栈、队列 实验内容 利用栈实现迷宫求解 实 验 目 的 和 要 求 【实验目的】 应用栈结构来解决应用问题,加深对栈结构特点的认识和应用
【基本要求】 首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序
求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d 表示走到下一坐标的方向
如:对于下列数据的迷宫,输出的一条通路为;(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),
问 题 描 述 和 主 要 步 骤 【问题描述】 以一个 mn 的长方阵表示迷宫,0 和1 分别表示迷宫中的通路和障碍
设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论 【程序设计】 #include #include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define INIT_SIZE 100 //存储空间初始分配量 #define INCREMENT 10 //存储空间分配增量 #define MAXLEN 10//迷宫包括外墙最大行列数目 typedef int Status; typedef struct{ //迷宫中 r 行 c 列的位置 int r; int c; }PostType; typedef struct{ int ord; //当前位置在路径上的序号 PostType seat;//当前坐标 int di; //往下一坐标的方向 }SElemType; //栈元素类型 typedef struct{ SE