Dim visited(100), found As Boolean
Dim dist(100) As Integer
Dim que(100) As Integer
Dim n, turn As Integer
Private Sub CommandButton6_Click()
n = 24
For j = 1 To n
For i = 1 To n
visited(i) = False
Next i
TextBox1.Text = TextBox1.Text & vbCrLf & vbCrLf & Cells(j, n + 1) & " "
Call BFS(j)
Next j
End Sub
Sub BFS(v)
front = 1
rear = 1
visited(v) = True
que(rear) = v
Do While front <= rear
v = que(front)
front = front + 1
For i = 1 To n
If Cells(v, i) = 1 And Not visited(i) Then
TextBox1.Text = TextBox1.Text & "-->" & Cells(i, n + 1) & " "
visited(i) = True
rear = rear + 1
que(rear) = i
End If
Next i
Loop
End Sub
For j = 1 To n
If Cells(n + 1, j) = SS Then
For i = 1 To n
visited(i) = False
Next i
TextBox1.Text = TextBox1.Text & vbCrLf & vbCrLf & Cells(j, n + 1) & " "
Call FDS(j)
Exit For
End If
Next j
End Sub
Sub FDS(v)
front = 1
rear = 1
visited(v) = True
dist(v) = 0
que(rear) = v
Do While front <= rear
v = que(front)
front = front + 1
For i = 1 To n
If Cells(v, i) = 1 And Not visited(i) Then
visited(i) = True
dist(i) = dist(v) + 1
TextBox1.Text = TextBox1.Text & "-->" & Cells(i, n + 1) & " (" & dist(i) & ") "
rear = rear + 1
que(rear) = i
End If
Next i
'TextBox1.Text = TextBox1.Text & vbCrLf & "(" & front & ":" & rear & ")"
Loop
End Sub