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.