public override bool moveDown(BinaryDirection p_direction) { if (!base.moveDown(p_direction)) { m_current_node = Root; } return(true); }
public virtual void removeChild(BinaryDirection p_child) { switch (p_child) { case BinaryDirection.LEFT: m_left_child = null; break; case BinaryDirection.RIGHT: m_right_child = null; break; } }
public virtual void addChild(BinaryDirection p_child, T p_node, T p_parent) { switch (p_child) { case BinaryDirection.LEFT: m_left_child = p_node; m_left_child.addParent(p_parent); break; case BinaryDirection.RIGHT: m_right_child = p_node; m_right_child.addParent(p_parent); break; } }
public virtual bool moveDown(BinaryDirection p_direction) { switch (p_direction) { case BinaryDirection.LEFT: if (!m_current_node.hasLeft) { return(false); } m_current_node = m_current_node.LeftChild; return(true); case BinaryDirection.RIGHT: if (!m_current_node.hasRight) { return(false); } m_current_node = m_current_node.RightChild; return(true); } return(false); }