public void Traverse(VisitHandler visitor) { if (root != null && visitor != null) { InOrder(root, visitor); } }
void PostOrder(AVLNode <T> node, VisitHandler visitor) { if (node.Left != null) { PreOrder(node.Left, visitor); } if (node.Right != null) { PreOrder(node.Right, visitor); } visitor(node); }
void InOrder(AVLNode <T> node, VisitHandler visitor) { if (node.Left != null) { InOrder(node.Left, visitor); } visitor(node); if (node.Right != null) { InOrder(node.Right, visitor); } }