云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 哈工大数据结构大作业 - 迷宫老鼠

哈工大数据结构大作业 - 迷宫老鼠

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 12:12:01

一、 问题描述

一个迷宫可用上图所示方阵[m,n]表示,0表示能通过,1 表

示不能通过。现假设老鼠从左上角[1,1]进入迷宫,编写算法,寻 求一条从右下角[m,n] 出去的路径。

入口出口0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0

0 0 0 0 0 1 1 1 0 0

二、 方法思路

1.关于迷宫

1.1迷宫用而为动态数组实现。maze[i,j](1≤i≤m, 1≤j≤n),maze是m行n列的迷宫,为了消除边界判断,把二维数组maze[1:m][1:n]扩大为maze[0:m+1][0:n+1],且令0行、0列、m+1行、m+1列的值为1,表示周围是围墙。

1.2起点maze[1][1]置0,终点maze[m-2][n-2]置0。

2.主导思想

2.1.判断走下一步的依据是在迷宫的范围内坐标是否为空。压栈以记录行走路线。

2.2若走到死路,则弹栈进入上一步,再次判断周围是否有可走位置。

3.具体算法 3.1如果四周有路

if(w[ii-1][jj]*w[ii+1][jj]*w[ii][jj-1]*w[ii][jj+1]==0),则老鼠按照下右左上的次序进行选择,如果满足空的条件,则压栈,并将走过的路线置2. if(0==w[ii+1][jj]) {

Push(ii,jj,Q);w[ii][jj]=2; ii++; }

else if(0==w[ii][jj+1]) {

Push(ii,jj,Q);w[ii][jj]=2; jj++; }

else if(0==w[ii][jj-1]) {

Push(ii,jj,Q);w[ii][jj]=2; jj--; } else {

Push(ii,jj,Q);w[ii][jj]=2; ii--;

3.2.若起点四周都没路,或返回至起点四周没路 else

if(w[ii-1][jj]+w[ii+1][jj]+w[ii][jj-1]+w[ii][jj+1]==4),则结束程序。

3.3 若走入死路,回溯,栈中元素数-1,移动回来的格

Pop(Q);ct--; w[ii][jj]=1; if(-1==w[ii+1][jj]) { ii++; }

else if(-1==w[ii][jj+1]) { jj++; }

else if(-1==w[ii][jj-1]) { jj--; } else { ii--; } }// }

3.4.找到一条通路后,将元素逆序压入另一个新栈以便打印通路。 三、主要数据结构及源程序代码及其注释

搜索更多关于: 哈工大数据结构大作业 - 迷宫老鼠 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

一、 问题描述 一个迷宫可用上图所示方阵[m,n]表示,0表示能通过,1 表 示不能通过。现假设老鼠从左上角[1,1]进入迷宫,编写算法,寻 求一条从右下角[m,n] 出去的路径。 入口出口0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 二、 方法思路 1.关于迷宫 1.1迷宫用而为动态数组实现。maze[i,j](1≤

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com