亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言 數據結構中求解迷宮問題實現方法

2020-01-26 14:12:22
字體:
來源:轉載
供稿:網友

C語言 數據結構中求解迷宮問題實現方法

   在學習數據結構棧的這一節遇到了求迷宮這個問題,拿來分享一下~

    首先求迷宮問題通常用的是“窮舉求解” 即從入口出發,順某一方向試探,若能走通,則繼續往前走,否則原路返回,換另一個方向繼續試探,直至走出去。 

 我們可以先建立一個8*8的迷宮其中最外側為1的是墻

int mg[M+2][N+2]={ {1,1,1,1,1,1,1,1,1,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,0,0,1,1,0,0,1}, {1,0,1,1,1,0,0,0,0,1}, {1,0,0,0,1,0,0,0,0,1}, {1,0,1,0,0,0,1,0,0,1}, {1,0,1,1,1,0,1,1,0,1}, {1,1,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1},}

    如上所示,0對應通道方塊,1代表墻。對于迷宮中的每個方塊,有上下左右4個方塊相鄰,我們規定第i行第j列方塊的位置為(i,j) 規定上方方塊方位為0,順時針方向遞增編號。(i,j)上方的即為(i-1,j),下方(i+1,j),左方(i,j-1),右方(i,j+1).    為了方面回溯,我們需要有進棧出棧操作,所以我們來定義:

struct {  int i;//當前方位行  int j;//當前方位列  int di;//下一個可走方位號}St[MaxSize];//棧int top=-1;//初始化棧頂指針

我們來看看文字過程~~

    首先將入口進棧(初始方位為-1),在棧不空的情況下循環:取棧頂方塊(不退棧),若該方塊是出口,則退棧。若存在這樣的方塊,則將其方位保存到棧頂元素中,并將這個可走的相鄰方塊進棧。 

  對應的算法:

void mgpath(int x1,int y1,int x2,int y2){  int i.j,di,find,k;  top++;  St[top].i=x1; St[top].j=y1; St[top].di=-1; mg[x1][y1]=-1; while (top>-1){  i=St[top].i; j=St[top].j; di=St[top].di;  if (i==x2 && j==y2){     printf("迷宮路徑如下:/n");    for (k=0;k<=top;k++){      printf("/t(%d,%d)",St[k].i,S[k].j);       if ((k+1)%5==0) printf("/n"); //輸出5個換一行       }  printf("/n");  //找到一條路徑后結束  return ;  }  find=0;  while (di<4 && find==0){  di++;  switch(di){   case 0: i=St[top].i-1; j=S[top].j;break;   case 1: i=St[top].i;  j=St[top].j+1;break;   case 2: i=St[top].i+1;j=St[top].j;break;   case 3: i=St[top].i;  j=St[top].j-1;break;   }    if(mg[i] [j]==0) find=1;  }  if (find==1){  //找到了下一個可走方塊   St[top].di=di;//修改原棧頂的值   top++;  //下一個可走方塊進棧  St [top].i=i; St[top].j=j;St[top].di=-1;  mg[i] [j]=-1;//避免重復走到該方塊 }  else{  //沒有路徑可走,進行退棧操作    mg[St[top].i] [St[top].j]=0;//讓該位置變為其他路徑的可走方塊    top--;    }}  printf("沒有路徑可走!/n");}

當然我們也可以用隊列去求該迷宮的最優算法,這只是一個用來理解棧的例子~~~

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠久久亚洲欧美专区| 精品久久久久久国产| 国产精品偷伦视频免费观看国产| 久久中文久久字幕| 亚洲免费一在线| 国产成人高清激情视频在线观看| 中文字幕精品国产| 久久视频免费在线播放| 欧美尺度大的性做爰视频| 欧美成人免费视频| 91在线色戒在线| 亚洲一区二区三区sesese| 日本伊人精品一区二区三区介绍| 国产精品美女免费视频| 在线观看免费高清视频97| 一区二区欧美亚洲| 成人午夜两性视频| 久久全球大尺度高清视频| 欧美一级淫片播放口| 欧美黄色免费网站| 国外成人在线直播| 日韩精品免费在线播放| 亚洲一区二区三区久久| 91精品国产91久久久久久久久| 高跟丝袜欧美一区| 91手机视频在线观看| 亚洲精品在线视频| 性色av一区二区三区在线观看| 日本一区二区在线免费播放| 一区二区三区视频免费在线观看| 欧美日韩国产一区二区| 欧美人与性动交| 国产成人精品999| 亚洲女人被黑人巨大进入| 日韩欧美在线视频免费观看| 92看片淫黄大片看国产片| 91tv亚洲精品香蕉国产一区7ujn| 亚洲bt欧美bt日本bt| 成人精品一区二区三区| 精品一区二区三区三区| 欧美尺度大的性做爰视频| 亚洲国产精品va在线| 国产一区二区三区丝袜| 欧美激情综合亚洲一二区| 亚洲小视频在线观看| 久久久久国产精品免费网站| 韩日欧美一区二区| 91中文精品字幕在线视频| 色综合久久精品亚洲国产| 夜夜躁日日躁狠狠久久88av| 久久精品国产久精国产思思| 亚洲a成v人在线观看| 欧美激情一区二区三区高清视频| 久久全球大尺度高清视频| 91色在线观看| 亚洲大胆人体av| 国产婷婷成人久久av免费高清| 曰本色欧美视频在线| 在线观看欧美www| 欧美成人高清视频| 国产欧美精品日韩精品| 国产亚洲欧美日韩一区二区| 欧美人与物videos| 亚洲一区二区三区四区在线播放| 国产精品免费在线免费| 国产精品免费一区二区三区都可以| 亚洲品质视频自拍网| 国产精品久久久久一区二区| 在线播放国产一区中文字幕剧情欧美| 992tv在线成人免费观看| 中文字幕亚洲综合久久筱田步美| 国产欧美一区二区三区视频| 久久久亚洲影院你懂的| 97av视频在线| 国产精品入口免费视| 色诱女教师一区二区三区| 亚洲久久久久久久久久| 91在线观看欧美日韩| 久久久91精品国产一区不卡| 色噜噜国产精品视频一区二区| 91国在线精品国内播放| 亚洲一级片在线看| 成人性生交xxxxx网站| 91久久国产婷婷一区二区| 成人啪啪免费看| 亚洲最大成人网色| 亚洲精品国产拍免费91在线| 国产精品影院在线观看| 亚洲国产欧美精品| 国产精品丝袜久久久久久不卡| 中文字幕免费精品一区| 久久精品国产视频| 国产欧美婷婷中文| 精品久久久视频| 欧美午夜精品伦理| 亚洲激情自拍图| 97在线视频免费| 日韩久久精品电影| 国产成人福利夜色影视| 成人免费视频在线观看超级碰| 亚洲区免费影片| 中文字幕亚洲图片| 亚州国产精品久久久| 亚洲午夜色婷婷在线| 狠狠操狠狠色综合网| 日韩网站在线观看| 欧美日韩精品国产| 国产精品亚发布| 国产精品大片wwwwww| 欧美一区二粉嫩精品国产一线天| 91极品女神在线| 欧美日韩国产123| 国产成人一区二区在线| 成人av色在线观看| 日韩av观看网址| 国产精品一区电影| 日本最新高清不卡中文字幕| 黄色一区二区三区| 久久久久久亚洲精品中文字幕| 欧美激情伊人电影| 91精品国产91久久久久久久久| 456国产精品| 色偷偷偷亚洲综合网另类| 亚洲色图日韩av| 欧美激情小视频| 国产精品成人免费视频| 欧美另类极品videosbest最新版本| 国产经典一区二区| 久久99热这里只有精品国产| 欧美日韩国产精品| 午夜精品久久久久久99热| 992tv成人免费视频| 色777狠狠综合秋免鲁丝| 精品国产91乱高清在线观看| 国产亚洲精品综合一区91| 亚洲欧美在线免费| 成人免费黄色网| 欧美日韩中文字幕在线视频| 色诱女教师一区二区三区| 日韩在线小视频| 亚洲精品日韩在线| 欧美富婆性猛交| 国产成人亚洲综合91| 久久久人成影片一区二区三区观看| 91色视频在线观看| 中文字幕精品—区二区| 日韩欧美一区二区在线| 亚洲成人精品视频在线观看| 亚洲国产精品999| 国产精品夜间视频香蕉| 欧美第一淫aaasss性| www欧美日韩| www.欧美精品一二三区| 欧美最猛性xxxxx免费| 亚洲精品电影在线观看| 久久精品国产一区二区三区| 国产专区精品视频| 亚洲japanese制服美女| 久久综合久久八八| 日韩中文字幕在线观看| 久久全国免费视频| 久久精品国产清自在天天线| 欧美限制级电影在线观看| 日韩欧美极品在线观看|