Private Sub BreadthFirstSearchExample()
' Initialize Deque and add top-level directory.
Dim dqDirs As New Deque
dqDirs.QueueAdd "C:\Entisoft"
' Perform BFS Search for all sub-directories.
Dim strDir As String
Do While dqDirs.QueueRemove(strDir)
Debug.Print strDir
' Get list of all sub-directories within current directory.
Dim strFile As String
strFile = Dir$(strDir & "\*.*", vbDirectory)
Do Until strFile = ""
If strFile <> "." And strFile <> ".." Then
If GetAttr(strDir & "\" & strFile) And vbDirectory Then
dqDirs.QueueAdd strDir & "\" & strFile
End If
End If
strFile = Dir$()
Loop
LoopSee also: DepthFirstSearchExample Topic
Copyright 1996-1999 Entisoft
Entisoft Tools is a trademark of Entisoft.