誰幫我寫個迷宮求解的程式啊,資料結構,用鍊表寫急求

時間 2022-02-01 19:17:03

1樓:

//你的題意思沒說清楚,我想應該是求最短距離的路徑吧,如果不是求最短的話,會有無窮條,因為可以在那裡打圈圈的

//我暫且就按照最短路來做了,解題思路是先求一下所有的點到起點的最短路用e[i][j]表示,

//然後再求一下,終點到所有的點的最短路用s[i][j]表示。

//然後用深度搜尋去查詢,如果點(a,b)可以直接到(c,d),這一條路能構成最短路的條件是s[a][b]+s[c][d]=e[1][1]

#include

#include

#include

using namespace std;

const int max=5000000;

int maze[8][11]=,,,

,,,,

};int s[8][11],e[8][11];

struct q[1000];

const int dir[4][2]=,,,};//定義方向陣列

void bfs(int sx,int sy,int path[8][11])

if(maze[tx][ty]==1)

if(path[tx][ty]!=max)

path[tx][ty]=step;

r++;

q[r].x=tx;

q[r].y=ty;}}

}}bool used[8][11]=;

void dfs(int x,int y,int deep)

puts("");

}return ;

}int tx,ty;

for(i=0;i<4;i++)

if(maze[tx][ty]==1)continue;

if(used[tx][ty])continue;

used[tx][ty]=true;

q[deep].x=tx;

q[deep].y=ty;

dfs(tx,ty,deep+1);

used[tx][ty]=false;}}

int main()

puts("");

}bfs(1,1,s);

bfs(6,9,e);

dfs(1,1,0);

return 0;}

2樓:斂正雅

上網搜「a星尋路演算法」就有了吧。。。也應該是有原始碼的。

3樓:匿名使用者

**給你,但是你確定你這個迷宮有解嗎?好像沒有出來的路徑啊

#include

#include

#define m 8

#define n 11

struct mark //定義迷宮內點的座標型別

; struct element //"戀"棧元素,嘿嘿。。

; typedef struct lstack //鏈棧

*plstack;

/*************棧函式****************/

int initstack(plstack &s)//構造空棧

int stackempty(plstack s)//判斷棧是否為空

壓入新資料元素

棧頂元素出棧

else

return 0;

} /***************求迷宮路徑函式***********************/

void mazepath(struct mark start,struct mark end,int maze[m][n],int diradd[4][2])

while(s2)

return; //跳出兩層迴圈,本來用break,但發現出錯,exit又會結束程式,選用return還是不錯滴

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

d++;

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

} void main() ,,

,,,,

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

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

//起點(1,1)

start.x=1;

start.y=1;

//終點(7,10)

end.x=7;

end.y=10;

mazepath(start,end,maze,add); //find path

system("pause");}

4樓:夢醒心晴

啊 迷宮用鍊表寫?不對吧 是用棧來寫的 當然也可以用鍊表來實現棧

誰會大學的資料結構?幫我們解下幾道題,急急急!

5樓:匿名使用者

教材應該有配習題解答吧。

6樓:稜感

你以為寫兩個容易嗎?就算去copy也不容易找得全啊?居然才給30分有十五題

7樓:睡睡龍兒

你這個工作量也太大了吧

8樓:

樓主 你牛比啊.乙個題目給30分到差不多.竟然15個.才30分。. ...挨 為了這30分累死不值

9樓:匿名使用者

全都是演算法設計題 。。。這也推。。

資料結構的應用??

10樓:迪倫少校

其實,資料結構中的演算法都是為實際應用服務的,你只需要把那些經典演算法(比如dijstra,floyed,克魯斯卡爾演算法等)的思想學會了,然後再自己慢慢的在實踐中掌握這些方法最好了,而且也不容易忘。先從最簡單的寫起,比如排序啦,找最優路徑啦之類的。至於你說的寫起來很枯燥,像你那樣做(乾巴巴的從書上抄**,那肯定很枯燥,寫**是為了體現一種思想,記住一句話:

「語言只是實現目標的工具,並非目標本身」)枯燥是必然的。不知道樓主用的什麼語言,只能泛泛的說下了,不詳之處希望指證。(ps:

建議樓主做個學生管理系統,我大一的時候用c做過那個,個人認為比較能檢驗演算法的掌握情況,共勉~!)

11樓:倒霉熊

我建議你,可以將書上的那些演算法,用實際的語言編寫實現一遍,不是抄**,因為,資料結構書上的一般都是類某種語言描述的,並不是實際語言實現的。你可以用實際語言來實現一下。

不知道你看的那本書,我舉乙個可能有的例子吧,例如棧的舉例演算法中 提到 迷宮求解,括號匹配等,一般的資料結構書上都不是完整的程式,你可以使用語言來完整的實現乙個程式,這樣能學到不少東西。

12樓:林夕沂蒙

http://train.usaco.org/ 到這裡面註冊個號,做題...很好的提煉機會

13樓:匿名使用者

城市公交車路線優化設計(要求每個站點都用到,而且要盡量保證公交路線短)

誰能幫我寫個今年春節的對聯啊,誰能幫我寫個今年春節的對聯啊

祖壽安康喜迎金鼠 孫貴捷報笑納銀倉 橫批 人財兩旺 注 祖壽安康喜迎金鼠 是說老奶奶七十大壽,高高興興迎接金鼠,暗含迎接小孫子的到來。孫貴捷報笑納銀倉 是說你考上了大學,捷報頻傳,家中生意不錯,高高興興地數錢。把你要求有的事情全含進去了。 上聯 風調雨順 下聯 國泰民安 橫批 年年如此 祝新年快樂 ...

誰可以幫我找一些東風日產車輛的資料啊

頤達,騏達,軒逸,天籟,驪威,俊逸 就這幾款車網上都有呀。也都很詳細的。你們業務員不培訓嗎?你們是哪家4s店?哪個城市?你們總經理叫什麼?如此簡單,但是有希望加份,專業車網!東風日產全部車型 東風日產所有車型介紹 x trail 奇駿。qashqai 逍客。livina 驪威 有三款車型,驪威勁悅版...

誰幫我看下我的電腦視訊記憶體是多少啊,誰幫我看下我的 電腦視訊記憶體是多少啊》》》》????

英偉達geforce 7025 是整合顯示卡 視訊記憶體是128m 基本不能玩大型遊戲。qq遊戲 一般2d 看電影也沒問題。你這個配置 你可以換乙個獨立顯示卡 電腦效能會好很多,推薦乙個型號 gt240 400rmb左右。你的電腦 顯示卡是集顯 沒有獨立的視訊記憶體 是共享你的記憶體的 從這上面看不...