知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
迷宮問(wèn)題-左手和右手法則及遞歸實(shí)現(xiàn)
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):206
今天了解了迷宮問(wèn)題的wall follower算法,包括右手法則和左手法則。用C語(yǔ)言實(shí)現(xiàn)了其中的核心部分,記錄下來(lái)以備后用。其中迷宮的數(shù)據(jù)結(jié)構(gòu)struct maze包含了當(dāng)前在迷宮中所處的位置。創(chuàng)建迷宮、檢查是否到達(dá)終點(diǎn)等代碼不在本文范圍內(nèi)。
右手法則
當(dāng)右邊沒(méi)墻時(shí),就向右轉(zhuǎn),然后向前走一步;當(dāng)右邊有墻,前面沒(méi)墻就向前走一步;當(dāng)右邊有墻,前面也有墻就向左轉(zhuǎn)。
void maze_traverse(struct maze *mz) {
if (!is_wall_on_right(mz)) {//右邊沒(méi)墻
turn_right(); //改變方向
step_forward(mz); //改變位置
} else { //右邊有墻
if (!is_wall_front(mz)) { //前面沒(méi)墻
step_forward(wz); //改變位置
} else { //前面有墻
turn_left(); //改變方向
}
}
maze_traverse(mz);
}
左手法則
當(dāng)左邊沒(méi)墻時(shí),就向左轉(zhuǎn),然后向前走一步;當(dāng)左邊有墻,前面沒(méi)墻就向前走一步;當(dāng)左邊有墻,前面也有墻就向右轉(zhuǎn)。
void maze_traverse(struct maze *mz) {
if (!is_wall_on_left(mz)) {//左邊沒(méi)墻
turn_left(); //改變方向
step_forward(mz); //改變位置
} else { //左邊有墻
if (!is_wall_front(mz)) { //前面沒(méi)墻
step_forward(wz); //改變位置
} else { //前面有墻
turn_right(); //改變方向
}
}
maze_traverse(mz);
}
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站優(yōu)化哪家好
- 開(kāi)通微信小程序被騙
- 汽車(chē)回收系統(tǒng)
- 商標(biāo)注冊(cè)
- 北京小程序制作
- 汽車(chē)報(bào)廢回收管理軟件
- 云南做百度小程序的公司
- 報(bào)廢車(chē)管理
- typescript
- 汽車(chē)拆解管理軟件
- 報(bào)廢車(chē)回收管理軟件
- 云南電商網(wǎng)站建設(shè)
- 小程序表單
- 云南省建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 云南做網(wǎng)站
- 微分銷(xiāo)
- 南通小程序制作公司
- 二叉樹(shù)
- 前端技術(shù)
- 政府網(wǎng)站建設(shè)服務(wù)
- 云南小程序設(shè)計(jì)
- 專(zhuān)業(yè)網(wǎng)站建設(shè)公司
- 網(wǎng)絡(luò)公司電話
- 百度快速排名
- 云南小程序開(kāi)發(fā)推薦
- 網(wǎng)站沒(méi)排名
- 云南網(wǎng)站建設(shè)招商
- 汽車(chē)回收管理系統(tǒng)
- 云南網(wǎng)站建設(shè)案例