Пример #1
0
 public void getTree(List <huffmanNode> nodeList)
 {
     while (nodeList.Count > 1)
     {
         huffmanNode node1 = nodeList[0];
         nodeList.RemoveAt(0);
         huffmanNode node2 = nodeList[0];
         nodeList.RemoveAt(0);
         nodeList.Add(new huffmanNode(node1, node2));
         nodeList.Sort();
     }
 }
Пример #2
0
 public void setCode(string code, huffmanNode Nodes)
 {
     if (Nodes == null)
     {
         return;
     }
     if (Nodes.leftTree == null && Nodes.rightTree == null)
     {
         Nodes.code = code;
         return;
     }
     setCode(code + "0", Nodes.leftTree);
     setCode(code + "1", Nodes.rightTree);
 }
Пример #3
0
 public void PrintLeaf(huffmanNode nodeList, RichTextBox rich)
 {
     if (nodeList == null)
     {
         return;
     }
     if (nodeList.leftTree == null && nodeList.rightTree == null)
     {
         //Console.WriteLine("Symbol :{" + nodeList.symbol + "}   -Code :{" + nodeList.code + "}");
         rich.AppendText(Environment.NewLine +
                         "Symbol :{" + nodeList.symbol + "} -- Code :{" + nodeList.code + "}");
         return;
     }
     PrintLeaf(nodeList.leftTree, rich);
     PrintLeaf(nodeList.rightTree, rich);
 }