Пример #1
0
 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();
     }
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
 }
Пример #4
0
 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);
 }