七龙珠gt下载:急求一C的“迷宫问题”的源程序,包含详细注解!

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 14:06:31
就是那个经典的迷宫编程问题:0代表路,1代表墙。用栈的有关知识编程!

我告诉你 :
void path (int maze[m],[n],item move[8]){
sqtype sq[num];
int front,rear;
int x,y,i,j,v;
front=rear=0;
aq[0].x=1;
aq[0].y=1;
aq[0].pre=-1;
maze[1,1]=-1;
while (front<=rear)
{x=sq[front].x;
y=sq[front].y;
for (v=0;v<8;v++)
{i=x+move[v].x;
j=y+move[v].y;
if (maze[i][j]==0)
{rear++;
sq[rear].x=i;
sq[rear].y=j;
sq[rear].pre=front;
maze[i][j]=-1;
}
if (i==m && j==n)
{printpath(sq,rear);
restore(maze);
return 1;
}
}
front++;
}
return 0;

void printpath (sqtype sq[],int rear){
int i
i=rear;
do{
cout<<"("<<sq[i].x<<", "<<sq[i].y<<")"<--";
i=sq[i].pre;
}while (i!=-1);
}

i