收藏 分享(赏)

c语言回溯法破解迷宫.docx

上传人:11xg27ws 文档编号:5787146 上传时间:2019-03-17 格式:DOCX 页数:4 大小:13.13KB
下载 相关 举报
c语言回溯法破解迷宫.docx_第1页
第1页 / 共4页
c语言回溯法破解迷宫.docx_第2页
第2页 / 共4页
c语言回溯法破解迷宫.docx_第3页
第3页 / 共4页
c语言回溯法破解迷宫.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include #include /定义栈struct TNodestruct Node *top;TNode;typedef struct TNode *TN;struct Nodeint x;int y;struct Node *next;Node;typedef struct Node *N;/压栈void Push(TN tn,int xx,int yy)N q;q=(N)malloc(sizeof(Node);q-x=xx;q-y=yy;q-next=tn-top;tn-top=q;/出栈void Out(TN tn)N q;if(tn-top=NULL) return;q=tn-

2、top;tn-top=tn-top-next;free(q);/回溯法过迷宫void Past(int maze1010,int direction82,int x1,int y1,int x2,int y2)TN tn;int mark1010= /0 1 2 3 4 5 6 7 8 90,0,0,0,0,0,0,0,0,0,/00,0,0,0,0,0,0,0,0,0,/10,0,0,0,0,0,0,0,0,0,/20,0,0,0,0,0,0,0,0,0,/30,0,0,0,0,0,0,0,0,0,/40,0,0,0,0,0,0,0,0,0,/50,0,0,0,0,0,0,0,0,0,/60

3、,0,0,0,0,0,0,0,0,0,/70,0,0,0,0,0,0,0,0,0,/80,0,0,0,0,0,0,0,0,0,/9;tn=(TN)malloc(sizeof(TNode);/创建栈tn-top=NULL;Push(tn,x1,y1);/压入入口坐标markx1y1=1;while (tn-top!=NULL)int m,n,hang,lie,i=0;m=tn-top-x;n=tn-top-y;/循环方向数组,探四个方向for(;itop!=NULL)if(tn-top-x=x2elsemazetn-top-xtn-top-y=3;Out(tn);Print(maze);retu

4、rn;if(markhanglie!=1Push(tn,hang,lie);m=hang;n=lie;i=-1;i+=1;Out(tn);printf(“找不到通路,迷宫无法走出去! n“);/输出结果void Print(int array1010)int i,j;for(i=0;i10;i+)for(j=0;j10;j+)if(arrayij=3) printf(“ ¥“);else if(arrayij=4) printf(“ “);else printf(“%5d“,arrayij);printf(“n“);printf(“n“);int main()/定义迷宫数组int maze10

5、10= /0 1 2 3 4 5 6 7 8 91,0,1,1,1,1,1,1,1,1,/01,0,1,1,1,0,0,0,0,1,/11,0,0,0,1,0,1,0,0,1,/21,0,1,0,0,1,1,0,1,1,/31,0,1,1,1,0,1,1,0,1,/41,0,1,1,1,0,1,1,0,1,/51,0,1,1,1,0,1,1,0,1,/61,0,1,0,1,1,0,1,0,1,/71,0,0,1,0,0,1,1,0,1,/81,1,1,1,1,1,1,1,1,0,/9;/定义方向数组int direction82=0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,;printf(“迷宫数组是: nn“);Print(maze);printf(“开始破解 nn“);Past(maze,direction,0,1,9,9);getch();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报