跪求:迷宫求解的程序代码?

来源:百度知道 编辑:UC知道 时间:2024/04/28 20:38:25
这两个问题都是"数据结构-栈里面的内容"
要求能调试成功!

请把C++的注释风格改成风格的,两个程序都调试通过!

////////////////////////////////////////////////////////////////////////////////
程序1
#include<stdio.h>
#define N1 11
#define N2 10

int getpath(int maze[N1][N2])//在迷宫中探路的函数
{
int stack[N1*N2][2];
int i,x=1,y=1,ok,top=0;//可通路径上第一个点(入口点)的坐标进入路径数组stack
stack[top][0]=x;
stack[top][1]=y;//循环探路。加1则向前,减1则退回一步

while (1)
{
ok=0;//标志能否向前
if (maze[x][y+1]==0)
{y=y+1;ok=1;}//向右
else
if (maze[x+1][y]==0)
{x=x+1;ok=1;}//向下
else
if (maze[x][y-1]==0)
{y=y-1;ok=1;}//向左
else
if (maze[x-1][y]==0)
{x=x-1;ok=1;}//向上

if (!ok)//4方向均不通
{
top--;
if (top==0)//栈空,无出路
{
printf("迷宫无出路\n");
return 0;
}
x=stack[top][0];//回退后路径上最后一个点的X坐标存入X
y=stack[top][1];//回退后路