好文档 - 专业文书写作范文服务资料分享网站

数据结构迷宫问题实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

v1.0 可编辑可修改

{// 当前位置不能通过 }

if(!StackEmpty(S)) { }

Pop(&S,&e); // 退栈到前一位置 curstep--;

while==3&&!StackEmpty(S)) // 前一位置处于最后一个方向(北) { }

if<3) // 没到最后一个方向(北) { }

++; // 换下一个方向探索

Push(&S,e); curstep++;// 设定当前位置是该新方向上的相邻块 curpos=NextPos,;

MarkPrint; // 留下不能通过的标记(-1) Pop(&S,&e); // 退回一步 curstep--;

}while(!StackEmpty(S)); return 0; }

// 输出迷宫的结构 void Print(int x,int y) {

int i,j;

11

for(i=0;i

printf(\

printf(\

} }

void main() {

PosType begin,end; int i,j,x,y,x1,y1,n,k; do{

system(\

清屏函数

printf(\

1

--*************************\\n\\n\\n\

printf(\请输入迷宫的行数,列数\\n\ printf(\请输入迷宫内墙单元数\\n\ printf(\迷宫结构如下\\n\

printf(\输入迷宫的起点和终点\\n\ printf(\输出结果\\n\ printf(\退出\\n\ printf(\请选择 \ scanf(\ switch(n)

12

v1.0 可编辑可修改 刘

v1.0 可编辑可修改 {

case 1:{

printf(\请输入迷宫的行数,列数(包括外墙):(空格隔开)\ scanf(\

for(i=0;i

for(j=1;j

m[j][0]=0; // 迷宫左边列的周边即左边墙 m[j][y-1]=0;// 迷宫右边列的周边即右边墙 {

m[0][i]=0; // 迷宫上面行的周边即上边墙 m[x-1][i]=0;// 迷宫下面行的周边即下边墙 }

}

for(i=1;i

for(j=1;j

m[i][j]=1; // 定义通道初值为1

}break; case 2:

{printf(\请输入迷宫内墙单元数:\ scanf(\

printf(\请依次输入迷宫内墙每个单元的行数,列数:(空格隔开)\\n\

for(i=1;i<=j;i++) {

13

v1.0 可编辑可修改 }

scanf(\ m[x1][y1]=0;

}break; case 3:{

Print(x,y);printf(\刘沛航建立的迷宫,定义墙元素值为0,可通过路

径为1,输入0退出\

case 4:{ printf(\请输入起点的行数,列数:(空格隔开)\ scanf(\

printf(\请输入终点的行数,列数:(空格隔开)\ scanf(\ case 5:{

if(MazePath(begin,end)) // 求得一条通路 { } else

printf(\此迷宫没有从入口到出口的路径,谢谢使用刘沛航的程序\\n\ printf(\此迷宫从入口到出口的一条路径如下,谢谢使用刘沛航的程序:\\n\ Print(x,y); // 输出此通路

printf(\输入0退出\ }break; }

}while(n!=0);}

14

数据结构迷宫问题实验报告

v1.0可编辑可修改{//当前位置不能通过}if(!StackEmpty(S)){}Pop(&S,&e);//退栈到前一位置curstep--;while==3&&!Sta
推荐度:
点击下载文档文档为doc格式
96kc363rpn9nplx1m54t1j03v4iv5u00art
领取福利

微信扫码领取福利

微信扫码分享