VB探索法(回溯)应用于迷宫问题你
来源:互联网 发布:淘宝老年男模特沈老师 编辑:程序博客网 时间:2024/06/04 19:57
Private Sub MgPath(xi As Integer, yi As Integer, xe As Integer, ye As Integer)
Dim st(35) As zhan
Dim i, j, k, di, find As Integer
Dim Top As Integer
Top = -1
Top = Top + 1
st(Top).i = xi
st(Top).j = yi
st(Top).di = -1
mg(1, 1) = -1
Dim st(35) As zhan
Dim i, j, k, di, find As Integer
Dim Top As Integer
Top = -1
Top = Top + 1
st(Top).i = xi
st(Top).j = yi
st(Top).di = -1
mg(1, 1) = -1
Do While (Top > -1)
i = st(Top).i
j = st(Top).j
di = st(Top).di
i = st(Top).i
j = st(Top).j
di = st(Top).di
If (i = xe And j = ye) Then
For k = 0 To Top
Print st(k).i, st(k).j
Next
Exit Sub
End If
For k = 0 To Top
Print st(k).i, st(k).j
Next
Exit Sub
End If
find = 0
Do While (di < 4 And find = 0)
di = di + 1
Select Case di
Case 0: i = st(Top).i - 1
j = st(Top).j
Case 1: i = st(Top).i
j = st(Top).j + 1
Case 2: i = st(Top).i + 1
j = st(Top).j
Case 3: i = st(Top).i
j = st(Top).j - 1
End Select
If mg(i, j) = 0 Then find = 1
Loop
di = di + 1
Select Case di
Case 0: i = st(Top).i - 1
j = st(Top).j
Case 1: i = st(Top).i
j = st(Top).j + 1
Case 2: i = st(Top).i + 1
j = st(Top).j
Case 3: i = st(Top).i
j = st(Top).j - 1
End Select
If mg(i, j) = 0 Then find = 1
Loop
If find = 1 Then
st(Top).di = di
Top = Top + 1
st(Top).i = i
st(Top).j = j
st(Top).di = -1
mg(i, j) = -1
Else
mg(st(Top).i, st(Top).j) = 0
Top = Top - 1
End If
Loop
End Sub
st(Top).di = di
Top = Top + 1
st(Top).i = i
st(Top).j = j
st(Top).di = -1
mg(i, j) = -1
Else
mg(st(Top).i, st(Top).j) = 0
Top = Top - 1
End If
Loop
End Sub
0 0
- VB探索法(回溯)应用于迷宫问题你
- 迷宫问题 回溯法
- 回溯法-迷宫问题
- 回溯法求迷宫问题
- 回溯法解迷宫问题
- 回溯法解迷宫问题
- 回溯法求迷宫问题
- 回溯法解决迷宫问题
- 回溯法求迷宫问题
- 回溯法解决迷宫问题
- 回溯法解决迷宫问题
- 回溯法求解迷宫问题
- 迷宫问题 (上)栈 回溯法
- 迷宫问题——回溯法解
- scala 回溯法解决迷宫问题
- 回溯法——迷宫问题
- 【数据结构】用回溯法求解迷宫问题
- 回溯法解决迷宫搜索问题
- PostgreSQ 连接问题 FATAL: no pg_hba.conf entry for host
- Android中使用PULL方式解析XML文件
- css笔记-选择器详解
- performance optimization
- linux 查看系统信息常用命令。
- VB探索法(回溯)应用于迷宫问题你
- hibernate下使用getHibernateTemplate 返回List<Map>
- 快速将pdf转换成excel的技巧与方法
- stl中map的使用
- oracle 索引类型
- JS实现带格式的复制到剪贴板
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- OpenCv学习笔记——OpenCV捕获视频
- c#中 foreach 用法