VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "BinTree"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Public Key As String
Public Value As Variant
Attribute Value.VB_VarUserMemId = 0
Public Parent As BinTree
Public Left As BinTree
Public Right As BinTree
Private Sub Class_Initialize()
Set Parent = Nothing
Set Left = Nothing
Set Right = Nothing
Set Value = Nothing
End Sub
Public Property Get Root() As BinTree
Set Root = Me
Do While Not Root.Parent Is Nothing
Set Root = Root.Parent
Loop
End Property
Public Function FindBranch(ByVal sKey As String) As BinTree
If sKey = Key Then
Set FindBranch = Me
Else
Set FindBranch = Left.FindBranch(sKey)
If FindBranch Is Nothing Then Set FindBranch = Right.FindBranch(sKey)
End If
End Function