問題描述:以乙個m*n的矩陣表示迷宮,0和1分別表示通路和障礙。設計乙個程式對給定的迷宮輸入入口和出口,輸出路徑或是無解。
#include #include #define maxsize 20
#define error -1
#define ok 1
#define false 0
#define true 1
typedef enumdirection;
typedef enummarktag;
typedef struct position //迷宮中位置的座標
position;
typedef struct
selemtype; //棧元素的型別
typedef struct
stack;
char maze[maxsize][maxsize]=,
, ,, ,
, ,, ,
}; //用二維字元陣列表示迷宮
int initstack(stack *s) //建立乙個空棧
int push(stack *s,selemtype e) //元素e入棧
int pop(stack *s,selemtype *e) //棧頂元素出棧,由e帶回棧頂元素
int empty(stack s) //判斷棧是否為空
int createmaze(position *startpos,position *endpos)
//createmaze
int canpass(position curpos)
//canpass
void markpos(position curpos,marktag tag) //為已經探索過的位置加標記
} //根據當前的位置座標和下一步要探索的方向dir求下一步要走的位置座標
position nextpos(position curpos,direction dir)
return nextpos;
}direction nextdir(direction dir)
}int solve(stack *s,position start,position end)
else
if(e.di!=up)
} }
}while(!empty(*s));
return false;
}void main()
//輸出迷宮的圖形
printf("\n");
for(i=0;i<10;i++)
}
資料結構 嚴蔚敏版 緒論
資料 所有能被輸入到計算機中,且能被計算機處理的符號的集合。資料元素 資料中的乙個 個體 資料結構中討論的基本單位。資料結構 帶結構的資料元素的集合。資料的邏輯結構可以分為 1.集合結構 資料元素關係 結構之間的元素同屬於乙個集合體 2.線性結構 資料元素關係 結構之間的元素存在一對一的關係 3.樹...
資料結構 嚴蔚敏
最近一直想找一本純資料結構的書來學習,找來找去都沒有找到一本合適的書籍,相比之下國內的書籍之中,嚴蔚敏和吳偉民的還算是經典版了,很多國內其他資料結構教材都參考這本書的。但缺點是很多都是偽 對程式設計初學者來說有一些難度,甚至有些考研的同學來看這本書有很多還看不懂,並且裡面也有些容易迷惑人的地方。出於...
資料結構(嚴蔚敏)
說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是 雜湊表是什麼?所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。目前,計算機已深入到社會生活的各...