日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c 实现走迷宫流程图_c语言迷宫问题程序功能介绍.设计思路.数据结构设计及用法说明程序结构(流程图).各模块的功能及程序说明....

發布時間:2025/3/12 编程问答 24 豆豆

滿意答案

qiniy808451

2014.01.06

采納率:40%????等級:13

已幫助:8084人

原來也做過,以下是寫的源代碼,里面有部分注釋,應該能看懂,可以運行。總結的話,把代碼寫進去,再隨便弄幾句心得說幾句好好學C應該就OK了吧

#include

#include

#define M 15

#define N 15

struct mark //定義迷宮內點的坐標類型

{

int x;

int y;

};

struct Element //"戀"棧元素,嘿嘿。。

{

int x,y; //x行,y列

int d; //d下一步的方向

};

typedef struct LStack //鏈棧

{

Element elem;

struct LStack *next;

}*PLStack;

/*************棧函數****************/

int InitStack(PLStack &S)//構造空棧

{

S=NULL;

return 1;

}

int StackEmpty(PLStack S)//判斷棧是否為空

{

if(S==NULL)

return 1;

else

return 0;

}

int Push(PLStack &S, Element e)//壓入新數據元素

{

PLStack p;

p=(PLStack)malloc(sizeof(LStack));

p->elem=e;

p->next=S;

S=p;

return 1;

}

int Pop(PLStack &S,Element &e) //棧頂元素出棧

{

PLStack p;

if(!StackEmpty(S))

{

e=S->elem;

p=S;

S=S->next;

free(p);

return 1;

}

else

return 0;

}

/***************求迷宮路徑函數***********************/

void MazePath(struct mark start,struct mark end,int maze[M][N],int diradd[4][2])

{

int i,j,d;int a,b;

Element elem,e;

PLStack S1, S2;

InitStack(S1);

InitStack(S2);

maze[start.x][start.y]=2; //入口點作上標記

elem.x=start.x;

elem.y=start.y;

elem.d=-1; //開始為-1

Push(S1,elem);

while(!StackEmpty(S1)) //棧不為空 有路徑可走

{

Pop(S1,elem);

i=elem.x;

j=elem.y;

d=elem.d+1; //下一個方向

while(d<4) //試探東南西北各個方向

{

a=i+diradd[d][0];

b=j+diradd[d][1];

if(a==end.x && b==end.y && maze[a][b]==0) //如果到了出口

{

elem.x=i;

elem.y=j;

elem.d=d;

Push(S1,elem);

elem.x=a;

elem.y=b;

elem.d=886; //方向輸出為-1 判斷是否到了出口

Push(S1,elem);

printf("\n0=東 1=南 2=西 3=北 886為則走出迷宮\n\n通路為:(行坐標,列坐標,方向)\n");

while(S1) //逆置序列 并輸出迷宮路徑序列

{

Pop(S1,e);

Push(S2,e);

}

while(S2)

{

Pop(S2,e);

printf("-->(%d,%d,%d)",e.x,e.y,e.d);

}

return; //跳出兩層循環,本來用break,但發現出錯,exit又會結束程序,選用return還是不錯滴o(∩_∩)o...

}

if(maze[a][b]==0) //找到可以前進的非出口的點

{

maze[a][b]=2; //標記走過此點

elem.x=i;

elem.y=j;

elem.d=d;

Push(S1,elem); //當前位置入棧

i=a; //下一點轉化為當前點

j=b;

d=-1;

}

d++;

}

}

printf("沒有找到可以走出此迷宮的路徑\n");

}

/*************建立迷宮*******************/

void initmaze(int maze[M][N])

{

int i,j;

int m,n; //迷宮行,列

printf("請輸入迷宮的行數 m=");

scanf("%d",&m);

printf("請輸入迷宮的列數 n=");

scanf("%d",&n);

printf("\n請輸入迷宮的各行各列:\n用空格隔開,0代表路,1代表墻\n",m,n);

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

scanf("%d",&maze[i][j]);

printf("你建立的迷宮為o(∩_∩)o...\n");

for(i=0;i<=m+1;i++) //加一圈圍墻

{

maze[i][0]=1;

maze[i][n+1]=1;

}

for(j=0;j<=n+1;j++)

{

maze[0][j]=1;

maze[m+1][j]=1;

}

for(i=0;i<=m+1;i++) //輸出迷宮

{

for(j=0;j<=n+1;j++)

printf("%d ",maze[i][j]);

printf("\n");

}

}

void main()

{

int sto[M][N];

struct mark start,end; //start,end入口和出口的坐標

int add[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//行增量和列增量 方向依次為東西南北

initmaze(sto);//建立迷宮

printf("輸入入口的橫坐標,縱坐標[逗號隔開]\n");

scanf("%d,%d",&start.x,&start.y);

printf("輸入出口的橫坐標,縱坐標[逗號隔開]\n");

scanf("%d,%d",&end.x,&end.y);

MazePath(start,end,sto,add); //find path

system("PAUSE");

}

00分享舉報

總結

以上是生活随笔為你收集整理的c 实现走迷宫流程图_c语言迷宫问题程序功能介绍.设计思路.数据结构设计及用法说明程序结构(流程图).各模块的功能及程序说明....的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲第一中文字幕 | 国产精品不卡一区二区三区 | bt天堂av | 污片在线免费看 | 日本理论片午伦夜理片在线观看 | 9l蝌蚪porny中文自拍 | 一级bbbbbbbbb毛片 | 91视频黄色| 亚洲综合五区 | 色天天av | 黄色免费在线视频 | 91国内揄拍国内精品对白 | 久久久久久久综合色一本 | 在线美女av | 免费观看黄色网址 | 中文亚洲字幕 | 国产天堂av| 日韩另类在线 | 欧美另类亚洲 | 欧美s码亚洲码精品m码 | 99小视频 | 久久黄色 | 日本中文字幕一区二区 | 肉色丝袜脚交一区二区 | 福利在线影院 | av资源在线 | 快射视频网站 | 玉足脚交榨精h文 | 黑人黄色片 | 久久高清精品 | 欧美日韩不卡一区二区三区 | 加勒比不卡视频 | 亚洲综合视频在线观看 | 日本xxxxxxxxx18 | 99riav国产 | 精品一区二区三区视频在线观看 | 国产免费大片 | 人人爽视频 | 国产三级日本三级在线播放 | 性欧美jzjz2| 国产成人一区二区三区免费看 | 一级片亚洲 | 亚洲福利视频一区二区 | 久久亚洲天堂网 | 黄色三级网站在线观看 | 黄色a毛片| 人人看av| 阿的白色内裤hd中文 | 色在线免费视频 | 亚色视频在线 | 爆乳熟妇一区二区三区霸乳 | jizz精品 | 看个毛片 | 中文字幕有码在线 | 久久精品男人 | 中文字幕色片 | 这里有精品视频 | 亚洲成人午夜电影 | 欧美a视频在线观看 | 95视频在线 | 午夜三级在线观看 | 九九综合九九综合 | 色综合天天色 | 国产精品老熟女视频一区二区 | 国产日韩欧美精品在线观看 | 中文av一区二区三区 | 亚洲综合五月天婷婷丁香 | av超碰在线观看 | 少妇一级淫片日本 | 亚洲图片欧美另类 | 国产精自产拍久久久久久蜜 | 在线视频精品一区 | 国产精品久久久久久久久免费软件 | 欧美一卡二卡 | 免费在线a | 久久精品综合视频 | 麻豆福利在线观看 | 粉嫩av四季av绯色av | 久久久久99精品成人片三人毛片 | 重口另类 | 小柔的淫辱日记(h | 久久男人网| www欧美在线| 日韩中文第一页 | 亚洲人成电影一区二区在线 | 四虎永久地址 | av导航在线| 免费超碰在线观看 | 一级片美女 | 波多野结衣一区二区在线 | 性视频黄色 | 日韩欧美不卡视频 | 成人免费视频网站在线观看 | se婷婷| 精品久久国产字幕高潮 | 亚欧成人 | 精国产人伦一区二区三区 | 国产伦理片在线观看 | 日本黄色小片 |