📄 form4.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form4
BackColor = &H00FFC0C0&
Caption = "Form5"
ClientHeight = 8490
ClientLeft = 60
ClientTop = 450
ClientWidth = 11880
LinkTopic = "Form5"
ScaleHeight = 8490
ScaleWidth = 11880
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command2
Caption = "计 算"
Height = 375
Left = 4080
TabIndex = 4
Top = 7320
Width = 1695
End
Begin VB.CommandButton Command1
Caption = "下一步"
Height = 375
Left = 6240
TabIndex = 3
Top = 7320
Width = 1695
End
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 5775
Left = 120
TabIndex = 1
Top = 1320
Width = 11655
_ExtentX = 20558
_ExtentY = 10186
_Version = 393216
Rows = 24
Cols = 24
BackColorFixed = 14737632
ForeColorFixed = 0
GridColor = 49152
End
Begin VB.Label Label2
BackColor = &H00FFC0C0&
Caption = "单位:米"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 9840
TabIndex = 2
Top = 720
Width = 1095
End
Begin VB.Label Label1
BackColor = &H00FFC0C0&
Caption = "根据已知路网资料求小区间最短路径"
BeginProperty Font
Name = "方正琥珀简体"
Size = 21.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00800080&
Height = 495
Left = 2520
TabIndex = 0
Top = 480
Width = 7095
End
End
Attribute VB_Name = "Form4"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Unload Form4
Form5.Show
Function shortpath(ByVal v0 As interger) '求出v0点出发到各节点的最短路
For i = 0 To 345
Path(i) = 0 '设各节点的前置点为0
Next i
Dim u, vnum, w, wm
Max = 32767 'max表示如果两点间不相邻,则时间为无穷大
Dim dist(345) '记录从源点到其他各点当前的最短路径
For w = 1 To node
dist(w) = tim(vo, w)
If tim(v0, w) < 32767 Then Path(w) = v0
Next w
vnum = 1 '集合中s定点个数为1,即只有一个点v0
Do
'循环终止条件就是最后只剩一个点,那就没有选择余地
wm = Max
u = v0
For w = 1 To node
If s(w) = 0 And dist(w) < wm Then
u = w
wm = dist(w) '寻找最小的dist(w),找u
End If
Next w
s(u) = 1
For w = 1 To node
If s(w) = 0 And dist(u) + tim(u, w) < dist(w) Then
dist(w) = dist(u) + tim(u, w) '调整非s点集合点的最短路径值
Path(w) = u
End If
Next w
vnum = vnum + 1
Loop Until vnum = node
End Function
End Sub
Private Sub Form_Load()
'以下填入表头
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Cij"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 1
MSFlexGrid1.Text = "东城区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 2
MSFlexGrid1.Text = "西城区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 3
MSFlexGrid1.Text = "宣武区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 4
MSFlexGrid1.Text = "崇文区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 5
MSFlexGrid1.Text = "朝阳区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 6
MSFlexGrid1.Text = "海淀区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 7
MSFlexGrid1.Text = "丰台区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 8
MSFlexGrid1.Text = "石景山区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 9
MSFlexGrid1.Text = "门头沟区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 10
MSFlexGrid1.Text = "通州区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 11
MSFlexGrid1.Text = "顺义区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 12
MSFlexGrid1.Text = "房山区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 13
MSFlexGrid1.Text = "昌平区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 14
MSFlexGrid1.Text = "大兴区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 15
MSFlexGrid1.Text = "密云区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 16
MSFlexGrid1.Text = "怀柔区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 17
MSFlexGrid1.Text = "平谷区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 18
MSFlexGrid1.Text = "延庆区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 19
MSFlexGrid1.Text = "昌平以西"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 20
MSFlexGrid1.Text = "延庆以北"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 21
MSFlexGrid1.Text = "密云以东"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 22
MSFlexGrid1.Text = "廊坊-天津"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 23
MSFlexGrid1.Text = "大兴以南"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = "O\D"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "东城区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "西城区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "宣武区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "崇文区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = "朝阳区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = "海淀区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = "丰台区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 8
MSFlexGrid1.Text = "石景山区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 9
MSFlexGrid1.Text = "门头沟区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 10
MSFlexGrid1.Text = "通州区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 11
MSFlexGrid1.Text = "顺义区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 12
MSFlexGrid1.Text = "房山区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 13
MSFlexGrid1.Text = "昌平区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 14
MSFlexGrid1.Text = "大兴区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 15
MSFlexGrid1.Text = "密云区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 16
MSFlexGrid1.Text = "怀柔区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 17
MSFlexGrid1.Text = "平谷区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 18
MSFlexGrid1.Text = "延庆区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 19
MSFlexGrid1.Text = "昌平以西"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 20
MSFlexGrid1.Text = "延庆以北"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 21
MSFlexGrid1.Text = "密云以东"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 22
MSFlexGrid1.Text = "廊坊-天津"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 23
MSFlexGrid1.Text = "大兴以南"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -