資料結構 C語言 雙向鏈棧 迷宮問題

2021-08-03 08:36:54 字數 1335 閱讀 5540

【問題描述】

以乙個mxn的矩陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。

【任務要求】

實現鏈棧求解迷宮從入口到出口的一條可行通路。

【測試資料】

迷宮的測試資料如下:左上角(0,1)為入口,右下角(8,9)為出口。

printf("請輸入地圖:\n");

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

}printf("\n");

printf("請輸入開始位置和結束位置:\n");

scanf("%d

%d", &startpos.x, &startpos.y);

scanf("%d

%d", &endpos.x, &endpos.y);

nowpos = startpos;

pushstack(&s, nowpos);

while ((nowpos.x != endpos.x) || (nowpos.y != endpos.y))

else

if (0 == map[nowpos.x][nowpos.y - 1])

else

if (0 == map[nowpos.x - 1][nowpos.y])

else

if (0 == map[nowpos.x][nowpos.y + 1])

else

}printf("路徑為:\n");

for (i = 0, p = s.head; i < count; i++,p = p->next)

system("pause");

return

0;}

鏈棧 資料結構 c語言

這是棧的結構 進棧示意 出棧示意 這是乙個鏈棧,注意與順序棧的區分 include stdio.h include stdlib.h define maxsize 100 typedef struct snode link void menu void link initialize void 初始...

資料結構 迷宮和棧 C語言

include stdio.h include stdlib.h include time.h define mazesize 10 define ok 1 define error 0 define true 1 define false 0 define stack init size 100 ...

C語言資料結構 棧實現迷宮

include define max 30 typedef struct box typedef struct stack int map 10 10 int search int beginx,int beginy,int endx,int endy else return 1 find 0 wh...