最近寫了布置的作業實驗一二三
實驗一二比較簡單
實驗三迷宮問題
問題就大了
#include#include#define maxsize 20
typedef struct
box;
typedef struct
sqstack;
void initstack(sqstack *&s) //初始化棧
void destroystack(sqstack *&s) //銷毀棧
bool stackempty(sqstack *s) //判斷棧是否為空
bool push(sqstack *&s,box e) //進棧
bool pop(sqstack *&s,box &e) //出棧
bool gettop(sqstack *s,box &e) //取棧頂元素
編寫主程式的時候,起初毫無思路,根據課本上的思路,方才寫出了主程式
#include "sqstack.cpp"
bool mazepath(int x0,int y0,int xn,int yn)
, ,,,
,,,,
,};
sqstack *st;
box path[maxsize],e;
int k=0,l;
e.i=x0;e.j=y0;maze[1][1]=-1;
initstack(st);
push(st,e);
while(stackempty(st)==0)
for(l=k-1;l>=0;l--)
printf("(%d,%d) ",path[l].i,path[l].j);
printf("\n");
destroystack(st);
return true;
} if (maze[e.i][e.j+1]==0)
else if (maze[e.i+1][e.j]==0)
else if (maze[e.i][e.j-1]==0)
else if (maze[e.i-1][e.j]==0)
else
pop(st,e);
} destroystack(st);
return false;
}void main()
出現了幾個問題吧,有大有小,有失誤有不會的,直接貼我的實驗總結:
此時執行程式無結果,經過除錯**,發現程式根本就沒有執行,原因出在了沒有將入口元素e0入棧,棧一執行就為空,直接return了。後續依然有很多小問題,解決了很久。包括值加了兩次,回溯賦值等等一系列的問題,其實都是不應該發生的,都是小問題,但是出現了就會耽誤很久的時間,通過每一步printf迷宮陣列,取每一步運算的位置等方法,最終還是解決了。
迷宮陣列是資料結構以來第乙個比較大的問題,最終還是解決了,也是學習道路上的一次挑戰吧
信計的計算機心路歷程01 18 9 16
開頭記個流水賬 大學學了信計專業,大一發現喜歡計算機,可惜為時已晚 大一學了cppsource 還學了點matlab的皮毛 現在大二開資料結構 爭取能記錄一下學習的歷程 資料結構是李春葆第五版 今天看第一章的課後習題12 題目如下 起初是推算了第一步 第一步的複雜度為n 第二步為兩個n 2 以此類推...
開博,記錄下學習計算機的心路歷程
今天讀了leezy 2000的 每個程式設計師都應該給自己寫本書 一文,回想起大學以來學習計算機的經歷,有感而發。計算機是乙個知識繁多並且瑣碎的專業,熟練的專業技能必然是長期的學習和積累得來的。我接觸計算機專業知識的時間已經三年,接觸了許多專業知識,學到了很多,在學到的這些知識裡,當時感覺牢記於心的...
我的計算機考研歷程
本科雙飛一本專業,電腦科學與技術。報考211學校智慧型資訊處理專業,20考研成功上岸,發篇文章記錄一下過程。2019年6月15日正式準備考研,那時只是大概確定要考那幾個學校,自己選了多個層次的大學 985,211和計算機強勢可比211的學校三類 為什麼一開始要選三個層次呢?因為你不知道到後期自己能複...