电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构C语言迷宫求解问题(有要求和源代码)VIP免费

数据结构C语言迷宫求解问题(有要求和源代码)_第1页
1/6
数据结构C语言迷宫求解问题(有要求和源代码)_第2页
2/6
数据结构C语言迷宫求解问题(有要求和源代码)_第3页
3/6
1 、 迷宫求解 设 计 一 个 迷 宫 求 解 程 序 , 要 求 如 下 : ✓ 以M × N 表 示 长 方 阵 表 示 迷 宫 , 求 出 一 条 从 入 口 到 出 口 的 通 路 , 或 得 出 没 有 通 路的 结 论 。 ✓ 能任意设 定的 迷 宫 ✓ (选作)如 果有 通 路 , 列出 所有 通 路 提示: ✓ 以 一 个 二维数组来表 示 迷 宫 , 0 和 1 分别表 示 迷 宫 中的 通 路 和障碍, 如 下 图迷 宫 数据为: 1111111111 1001000101 1001000101 1000011001 1011100001 1000100001 1010001001 1011101101 1100000001 1111111111 入 口 位置: 1 1 出 口 位置: 8 8 ✓ 探索过程 可采用如 下 算法, 设 定当前位置的 初值为入 口 位置; do { 若 当 前 位 置 可 通 , 则 { 将 当 前 位 置 插 入 栈 顶 ; 若 该 位 置 是 出 口 位 置 , 则 结 束 ; 否 则 切 换 当 前 位 置 的 东 邻 方 块 为 新 的 当 前 位 置 ; } 否 则 , { 若 栈 不 空 且 栈 顶 位 置 尚 有 其 他 方 向 未 经 探 索 , 则 设 定 新 的 当 前 位 置 为 沿 顺 时 针 方 向 旋 转 找 到 的 栈 顶 位 置 的 下 一相邻 块 ; 若 栈 不 空 但栈 顶 位 置 的 四周均不 可 通 , 则 { 删去栈 顶 位 置 ; //从路径中删去该 通 道块 若 栈 不 空 , 则 重新 测试新 的 栈 顶 位 置 , 直至找 到 一个可 通 的 相邻 块 出 栈 至栈 空 ; } } } while (栈 不 空 ); #include #include #define MaxSize 32 int a[30][30]; int b[30][30]; int m,n; typedef struct { int i; int j; int di; }Box; typedef struct { Box data[MaxSize]; int top; }StackType; bool sereach(int X,int Y,int X1,int Y1); void main() { int X,Y,Y1,X1; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); // for() printf("请 输 入迷宫的长度和宽度\n"); while(~ scanf("%d%d",&m,&n)){ printf("请 输 入迷宫(0 表示空地,1 表示围墙)\n"); for(int i=0;i

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构C语言迷宫求解问题(有要求和源代码)

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群