freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結構課程設計迷宮問題-在線瀏覽

2025-03-07 05:58本頁面
  

【正文】 ,j循環(huán)變量,將maze[i][j]輸出 □、■}(4)打印迷宮路徑void result_maze(int m,int n){用i,j循環(huán)變量,將maze[i][j]輸出 □、■、☆}(5) 搜索迷宮路徑①迷宮中隊列入隊操作void enqueue(struct point p){將p放入隊尾,tail++}②迷宮中隊列出隊操作struct point dequeue(struct point p){head++,返回que[head1]}③判斷隊列是否為空int is_empty(){返回head==tail的值,當隊列為空時,返回0}④訪問迷宮矩陣中節(jié)點void visit(int row,int col,int maze[41][41]){建立新的隊列節(jié)點visit_point,將其值分別賦為row,col,head1,maze[row][col]=2,表示該節(jié)點以被訪問過。如果入口處即為障礙,則此迷宮無解,返回0 ,程序結束。判斷隊列是否為空,當隊列不為空時,則運行以下操作:{ 調(diào)用dequeue()函數(shù),將隊頭元素返回給p,====n1,即到達出口節(jié)點,即找到了路徑,結束;+1n且maze[][+1]==0,說明未到迷宮右邊界,且其右方有通路,則visit(,+1,maze),將右邊節(jié)點入隊標記已訪問;+1m且maze[+1][]==0,說明未到迷宮下邊界,且其下方有通路,則visit(+1,maze),將下方節(jié)點入隊標記已訪問;0且maze[][]==0,說明未到迷宮左邊界,且其左方有通路,則visit(,maze),將左方節(jié)點入隊標記已訪問;0且maze[][]==0,說明未到迷宮上邊界,且其上方有通路,則visit(,+1,maze),將上方節(jié)點入隊標記已訪問。while(!=1){p=queue[]。}最后將路徑圖形打印出來。i)。 print_maze(m,n)。 if(X!=0) result_maze(m,n)。 print_maze(m,n)。 if(X!=0) result_maze(m,n)。 case 4:cycle=(1)。break。 測試結果 迷宮系統(tǒng)主界面2. 手動生成迷宮 手動生成迷宮無解情況 手動生成迷宮界面用戶自定義迷宮的行數(shù)、列數(shù)、迷宮障礙矩陣,由系統(tǒng)生成對應的迷宮并求出無解。上面測試例子中,路徑為(0,0)→(1,0)→(1,1)→(2,1)→(2,2)→(3,2)→(3,3),在圖中用“☆”表示。 printf(\n\n)。 for(i=0。i++) for(j=0。j++) scanf(%d,amp。}3. 自動生成迷宮 自動生成迷宮界面用戶自定義迷宮的行數(shù)和列數(shù),由系統(tǒng)自動生成迷宮圖并求出上例迷宮無解。上面測試例子中,路徑為(0,0)→(0,1)→(0,2)→(0,3)→(0,4)→(1,4)→(2,4)→(3,4)→(4,4),在圖中用“☆”表示。 printf(\n迷宮生成中……\n\n)。 for(i=0。i++) for(j=0。j++) maze[i][j]=rand()%2。i3。j3。 maze[m1i][n1j]=0。 }4. 迷宮游戲 迷宮游戲主界面 迷宮游戲主界面 迷宮游戲過程 迷宮游戲過程圖用戶可用上下左右鍵控制迷宮中人物行走方向,控制人物走出迷宮。其人物行走方向以左為例: if(iMap[iRow][iCol 1] == 0)//可以行走{ MoveCursorTo(iCol * 2,iRow)。//當前位置移動方向 iCol = 1。 printf(♀)。 特別鳴謝界面部分代碼如下:system(cls)。system(pause)。第 17 頁 共 31 頁 退出迷宮系統(tǒng)界面部分代碼如下:cycle=(1)。\n\t歡迎下次再來O(∩_∩)O~~\n\n)。default:printf(\n)。printf(\nPress Enter To Contiue!\n)。while(getchar()!=39。)。第4章 心得總結這是我們小組成員第一次以團隊合作的形式參與程序設計這樣的實驗。經(jīng)過我們幾次的討論和商討,最終決定選擇這個符合我們小組成員實際能力的選題——迷宮。我們依據(jù)實驗報告的要求和步驟一項項進行規(guī)劃,期間在圖書館查閱了很多資料,小組成員之間也相互學習,不懂的地方大家一起討論。我們不斷改進和完善代碼中繁瑣和冗余的部分,力圖寫出一個最簡潔明了又不脫離實際的程序,盡可能做到和現(xiàn)實相貼近。當然,錯誤最后被我們查找了出來。 在這次團隊合作中,我們都深深體會到學好專業(yè)知識的重要性,老師上課所教授的基本知識是非常必要的,在真正應用到實際選題的時候就凸顯了出來,就以我們小組的選題為例,迷宮問題的基本思想就是棧的問題,如果對棧的知識比較了解,在實現(xiàn)迷宮問題時是不會太吃力的。其中非常重要的是,在相互討論和商榷中,爭執(zhí)是不可避免的。所以說,通過這次實驗,也使我們小組成員之間的關系更加和諧和親密。int maze[N+2][M+2]。}queue[512]。void shoudong_maze(int m,int n)//手動輸入迷宮{ int i,j。 printf(請按行輸入迷宮,0表示通路,1表示障礙(用空格隔開):\n\n)。im。jn。maze[i][j])。 printf(\n迷宮生成中……\n\n)。 for(i=0。i++) for(j=0。j++) maze[i][j]=rand()%2。i3。j3。 maze[m1i][n1j]=0。 }void print_maze(int m,int n)//輸出迷宮圖{ int i,j。 printf(迷宮入口\n)。 for(i=0。i++) { printf(\n)。jn。//通 if(maze[i][j]==1) printf(■)。}void result_maze(int m,int n)//輸出探索迷宮結果{ int i,j。 for(i=0。i++) { printf(\n)。jn。//通 if(maze[i][j]==1) printf(■)。//路徑 } }}void enqueue(struct point p)//增加{ queue[tail]=p。}struct point dequeue()//刪除{ head++。}int is_empty()//空對{ return head==tail。 maze[row][col]=2。}int mgpath(int maze[41][41],int m,int n)//路徑探索{ X=1。 if(maze[][]==1) { printf(\n===============================================\n)。X=0。} maze[][]=2。 while(!is_empty()) { p=dequeue()。amp。 if((+1n)amp。(maze[][+1]==0)) visit(,+1,maze)。amp。//下 if((=0)amp。(ma
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1