這個用到了一些C++的知識了,因為需要用到動態建立數組和類的一些知識。
以前遇到類似的問題就很頭疼,而且也不願意去寫,可是現在覺得只要肯花時間,
寫起來並不那麼困難,雖然一次性完美的寫出來,不出錯不可能,但是在調試錯誤的過程中同樣能感覺到快樂。
考慮到節約時間,我就隨機生成了一個地圖,矩陣的大小可以輸入。1為可走,0為走不通。
代碼並沒有完善到我想要的目的,例如目前只能尋找一條路線,多條路線還沒有思路。
代碼的主要思想就是壓棧和出棧
<iostream><stdlib.h><time.h> orientationNum 4 MazeMapLineNumber = Node **~= pBottom = ->pNext = (pTop == = ->Pos =->pNext ==(!== p-> cout<<<<=(p->pNext !=<<<<p->Pos.xcoordinate<<<<p->Pos.ycoordinate<<= p-><<<<p->Pos.xcoordinate<<<<p->Pos.ycoordinate<< pTop->(!~(pos.ycoordinate< || pos.ycoordinate>=||pos.xcoordinate< || pos.xcoordinate>= (pos1.xcoordinate == pos2.xcoordinate &&== pos2.ycoordinate) PassMaze( ***MazeWay = = i = IsFind = ->((!MazeWay->IsNull())&&(! CurPos = MazeWay->= (i=;i<orientationNum;i++( == NewPos.xcoordinate == CurPos.ycoordinate+( == NewPos.xcoordinate = CurPos.xcoordinate+=( == NewPos.xcoordinate == CurPos.ycoordinate-( == NewPos.xcoordinate = CurPos.xcoordinate-=(!isOutOfborder(NewPos) &&= == -> MazeWay->(MazeWay-><<<< MazeWay-> i=,j=<<>> **pMap = * (i=;i<MazeMapLineNumber;i++= (i=;i<MazeMapLineNumber;i++ (j=;j<MazeMapLineNumber;j++= rand()%<<pMap[i][j]<< << <<>><<>><<>><<>>