public void Treelist(List <ImpNode> nodes) { while (nodes.Count > 1) { ImpNode node = nodes[0]; nodes.RemoveAt(0); ImpNode n = nodes[0]; nodes.RemoveAt(0); nodes.Add(new ImpNode(node, n)); nodes.Sort(); } }
public void codesinleaf(ImpNode node) { if (node == null) { return; } if (node.left == null && node.right == null) { Console.WriteLine("Symbol : {0} - Code : {1}", node.symbol, node.code); return; } codesinleaf(node.left); codesinleaf(node.right); }
public void Code(string code, ImpNode node) { if (node == null) { return; } if (node.left == null && node.right == null) { node.code = code; return; } Code(code + "0", node.left); Code(code + "1", node.right); }
public void printtree(int level, ImpNode node) { if (node == null) { return; } for (int k = 0; k < level; k++) { Console.Write("\t"); } Console.Write("[" + node.symbol + "]"); Console.WriteLine("(" + node.code + ")"); printtree(level + 1, node.right); printtree(level + 1, node.left); }