前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言迷宫代码分享

C语言迷宫代码分享

作者头像
神无月
发布2018-06-26 14:18:45
3.8K0
发布2018-06-26 14:18:45
举报
文章被收录于专栏:小文博客

#include<stdio.h> #include<stdbool.h> #include <malloc.h> #define M 8 #define N 8 #define maxsize 100 int mg[M+2][N+2]= { {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},//0 {1, 0, 0, 1, 0, 0, 0, 1, 0, 1},//1 {1, 0, 0, 1, 0, 0, 0, 1, 0, 1},//2 {1, 0, 0, 0, 0, 1, 1, 0, 0, 1},//3 {1, 0, 1, 1, 1, 0, 0, 0, 0, 1},//4 {1, 0, 0, 0, 1, 0, 0, 0, 0, 1},//5 {1, 0, 1, 0, 0, 0, 1, 0, 0, 1},//6 {1, 0, 1, 1, 1, 0, 1, 1, 0, 1},//7 {1, 1, 0, 0, 0, 0, 0, 0, 0, 1},//8 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},//9 }; //定义一个迷宫(二维数组),1表示有障碍物 typedef struct{ int i; int j; int di; }box; typedef struct{ box data[maxsize]; int top; }StType; bool mgpath(int xi , int yi, int xe, int ye) { int i, j, k, di, find; StType st; st.top = -1; st.top++; st.data[st.top].i=xi; st.data[st.top].j=yi; st.data[st.top].di = -1; mg[xi][yi] = -1; while(st.top > -1) { i = st.data[st.top].i; j = st.data[st.top].j; di = st.data[st.top].di; if(i == xe && j == ye) { printf("迷宫路径为:\n"); for(k = 0; k<=st.top; k++) { printf("\t(%d, %d)", st.data[k].i,st.data[k].j); if((k+1)%5 == 0) printf("\n"); } printf("\n"); return true; } find = 0; while(di<4 && find == 0) { di++; switch(di) { case 0:i = st.data[st.top].i-1; j = st.data[st.top].j; break; case 1:i = st.data[st.top].i; j = st.data[st.top].j+1; break; case 2:i = st.data[st.top].i+1; j = st.data[st.top].j; break; case 3:i = st.data[st.top].i; j = st.data[st.top].j-1; break; } if(mg[i][j] == 0) find=1; } if(find == 1) { st.data[st.top].di = di; st.top++; st.data[st.top].i = i; st.data[st.top].j = j; st.data[st.top].di = -1; mg[i][j] = -1; } else { mg[st.data[st.top].i][st.data[st.top].j] = 0; st.top--; } } return false; } int main() { if(!mgpath(1, 1, M, N)) printf("Null!"); }

打赏博主
打赏博主

下载地址:

文件名称:迷宫问题C语言代码

文件大小:2KB适用版本:无

更新日期:2016-10-17 22:03作者信息:小文

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年10月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档