昨天沒有想這個問題,今天在任務的就緒表卡住了,於是又想到這個迷宮問題,改寫了**,現在遇到死胡同可以自己識別出來,並且有多條路的時候也能到達出口,當然不是最優解,因此命名為0.2版本,**如下:
#includeint a,b,c,d,g=0;
char mg[6][6]=
, //6*6的迷宮,0代表可以通過,1代表不可以通過,從左上角開始,從右下角出去
, ,, , };
typedef struct
move;
move m[9]= //有9種走法:
, //左上
, //正上
, //右上
, //左
, //中(不動)
, //右
, //左下
, //正下
, //右下
};typedef struct
position;
position p; //當前的位置
typedef struct
past;
past past[6][6]; //記錄過去走過的位置
typedef struct
history;
history his[36]; //記錄前一步的位置,以供退步
void main()
; p.s=0;
p.h=0;
for(a=0;a<6;a++) //初始化標記全為0,即所有路都沒有走過 }
past[0][0].mark=1;
while((p.s!=5)||(p.h!=5)) //當未到達出口時
else f++;// 走過此路
}else f++;//此路不通
}else f++;//出界了
}if(f==9)
}for(c=0;c<6;c++)
else printf("*");
} } printf("\n");
}
輸出結果,唉。。。我嘗試了chrome,opera,ie咋都傳不了啊!!!
執行結果還行,只是歷史記憶路徑只有一次,如果死胡同需要兩步才到底,則它就出不來了,還需要再修改,今天就先到這裡,畢竟只是0.2版本,以後的版本還需要把函式封裝一下,全用全域性變數成何體統。。。祝大家元旦快樂哈~~~
資料結構迷宮問題C 實現
出現實現圖 h檔案實現堆疊簡易操作 此處沒有將宣告與實現分離,應注意!pragma warning disable 4715 ifndef stack h define stack h struct position 結構體位置,表示迷宮每一格的行號和 列號 class stack bool ise...
c資料結構 棧 迷宮問題(迴圈實現)
走迷宮步驟 使用二維陣列來表示迷宮地圖。1表示可以走,0表示不能走。設定迷宮入口。判斷迷宮入口是否合法。將入口點入棧 將當前點設定為入口點。loop 判斷是否能往左走,能則將當前點壓棧。goto loop 判斷是否能忘上走,能則將當前點壓棧。goto loop 判斷是否能往右走,能則將當前點壓棧。g...
資料結構迷宮問題 快速迭代器生成的資料結構
c 輸入輸出 string的簡單使用 陣列和向量 對角線問題 陣列和向量的排序 二分查詢原理 陣列二分查詢 向量二分查詢 3n 1問題 抽象資料型別 查詢問題的抽象資料型別視角 初識集合 次序統計量 有序向量與無序向量 以集合描述演算法 stl容器一覽 時空之謎 程式執行時間 量級常見執行時間 執行...