static void ExchangeLeaf(HTLeaf l1, IHTNode l2) { object temp; temp = l1._Parent; l1._Parent = l2._Parent; l2._Parent = (HTNode)temp; temp = l1.code; }
public bool Contain(char c) { HTLeaf leaf = (HTLeaf)nodes.Find(l => l is HTLeaf && (l as HTLeaf).sim == c); if (leaf != null) { return(true); } else { return(false); } }
public void Add(char c) { EscapeNode esc = (EscapeNode)nodes.Find(node => node is EscapeNode); HTNode oldEscParent = esc._Parent; HTNode newNode = new HTNode(null, esc, esc._Parent); if (oldEscParent != null) { oldEscParent._Left = newNode; } HTLeaf newLeaf = new HTLeaf(newNode, c); newNode._Right = newLeaf; //esc._Parent._Left = newNode; //if (newNode._Parent != null) // newNode.code = "1" + newNode._Parent.code; //else // newNode.code = "1"; //esc.code += "1"; //UpdateNodes(); }