正在加载图片...
/*在迷宫中绘出最短路径 void draw(int maze[][n2], sqstktp*s) I int i, j lemtype elem; for(i=l: i<=m: i++) 十 if(maze[i][j]=-1) maze lilli]=0 while(s->top=-1)/根据栈中元素的坐标,将最短路径各点的值该为8 i=elem. x: j=elem. y: Maze[i]lj]=8 for(i=1;i<=m;i++)//显示已标记最短通路的迷宫 i for(j=1: j<=n: j++) printf(maze[i]lj]) printf(“Ⅶn”); printf(“n”) /*寻找迷宫最短通路路径程序 Void maino tp maze [m2][n2],f: struct moved move [8 Inlmaze(maze);/*初始化迷宫 s=(sgstktp*)malloc(sizeof(sqstktp)) unstack(s);/*初始化栈 p=(queuetp*)malloc(sizeof (queuetp)) Enqueue(p);/初始化队列 Ninove(move);/*初始化方向为一数组 f= shortpath(maze,move,p)/*寻找迷宫最短通路路径程序 printpath(p,s):/*如果找到,显示通路和绘制出通路标记的迷宫} printf(“\n”); } /*在迷宫中绘出最短路径 void draw(int maze[][n2],sqstktp*s) { int i,j; elemtype elem; for(i=1;i<=m;i++) for(j=1;j<=n;j++) if(maze[i][j]==-1) maze[i][j]=0; while(s->top=-1)//根据栈中元素的坐标,将最短路径各点的值该为 8 { elem=pop(s); i=elem.x;j=elem.y; Maze[i][j]=8; } for(i=1;i<=m;i++)//显示已标记最短通路的迷宫 { for(j=1;j<=n;j++) printf(maze[i][j]); printf(“\n”); } printf(“\n”); } /*寻找迷宫最短通路路径程序 Void main() { sqstktp *s; queuetp *p; int maze[m2][n2],f; struct moved move[8]; inimaze(maze);/*初始化迷宫 s=(sqstktp*)malloc(sizeof(sqstktp)); inistack(s);/*初始化栈 p=(queuetp*)malloc(sizeof(queuetp)); iniqueue(p);/*初始化队列 inimove(move);/*初始化方向为一数组 f=shortpath(maze,move,p)/* 寻找迷宫最短通路路径程序 if(f==true) { printpath(p,s);/*如果找到,显示通路和绘制出通路标记的迷宫
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有