重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

数据结构迷宫代码java 数据结构迷宫求解代码

如何用数据结构创建一个20×20的迷宫,用空格和星花表示路和墙,求代码,十分感谢

如图是我修改他人代码得到的。因为C画面的墙和路都要占同样1格。

创新互联公司是一家专注于网站设计制作、网站设计与策划设计,东台网站建设哪家好?创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:东台等地区。东台做网站价格咨询:13518219792

如果画偶数宽高则会有路径浪费,所以还是画奇数宽高的好。

部分代码如下:(完整代码请追问)

int main()

{

int i,j;

system("color 2b");

srand((unsigned)time(NULL));  /*初始化随即种子*/

hidden();    /*隐藏光标*/

for(i=0;i=Height+1;i++)

for(j=0;j=Width+1;j++)

if(i==0||i==Height+1||j==0||j==Width+1)   /*初始化迷宫*/

map[i][j]=Road;

else map[i][j]=Wall;

create(2*(rand()%(Height/2)+1),2*(rand()%(Width/2)+1));  /*从随机一个点开始生成迷宫*/

for(i=0;i=Height+1;i++)    /*边界处理*/

{

map[i][0]=Wall;            

map[i][Width+1]=Wall;   

}

for(j=0;j=Width+1;j++)   /*边界处理*/

{

map[0][j]=Wall;     

map[Height+1][j]=Wall;

}

//★百度知道“q839219286”修订,多画一格避免宽高为偶数时没有墙

{ int pH_even= (Height/2)*2, pW_even=(Width/2)*2; //宽高偶数化

map[2][1]=Start;     /*给定入口*/

map[pH_even][Width]=End;   /*给定出口*/

for(i=1;i=pH_even+1;i++)  /*画出迷宫*/

for(j=1;j=pW_even+1;j++)  

paint(i,j);

}

game();   /*开始游戏*/

return 0;

}

求助 java一个二维数组代表迷宫。0代表道路 2表示墙壁。 假设老鼠会从数组[1][0]开始

这个可以用 堆栈 来完成。

用堆栈的基本思路就是。

设置一个起点A。将 A 入栈 。

从A开始找到第一个可以达到的点B。将 B 入栈 。

如果B无路可走。则在A点处重新换一个可达到的点。否则继续 2-3 。直到达到终点。或者五路可走。

详细的解释,这儿有一篇博文:

一个数据结构的迷宫的源代码问题

很简单,这是一个回溯的搜索,

if(maze[x+move[i].x][y+move[i].y]==0)

if(path(maze,move,x+move[i].x,y+move[i].y,step))

这两句的意思是说如果迷宫的maze[x+move[i].x][y+move[i].y]这个位置可以走,那么下一次就从这个位置开始。

step--;

maze[x][y]=0;

这两句是在选择的路径是死路的时候用来撤销标记,返回出发点的语句


网站栏目:数据结构迷宫代码java 数据结构迷宫求解代码
文章路径:http://cqcxhl.com/article/ddidjcd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP