using System; using System.Collections.Generic; using System.Linq; using System.Text;
  namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             string input;             Console.Write("Enter a string to encode: ");             input = Console.ReadLine();             TreeList treeList = new TreeList();             foreach (int v in input)             { treeList.AddLetter(input); }             treeList.SortTree();             int[] signTable = new int[input.Length];             int[] keyTable = new int[input.Length];             while (treeList.length > 1)                 treeList.MergeTree();             MakeKey(treeList.RemoveTree(), "");             string newStr = translate(input);             for (int i = 0; i <= signTable.Length - 1; i++)                 Console.WriteLine(signTable[i] + ": " +                 keyTable[i]);             Console.WriteLine("The original string is " + input.             Length * 16 + " bits long.");             Console.WriteLine("The new string is " + newStr.Length + " bits long.");             Console.WriteLine("The coded string looks like this:" + newStr);             translate(input, signTable);
          }            static string translate(string original,int []signTable)         {                          string newStr = "";             for (int i = 0; i <= original.Length - 1; i++)                 for (int j = 0; j <= signTable.Length - 1; j++)                     if (original[i] == signTable[j])                         newStr += keyTable[j];             return newStr;         }         static void MakeKey(HuffmanTree tree, string code)         {             int pos = 0;             if (tree.GetLeftChild == null)             {                 signTable[pos] = tree.GetSign();                 keyTable[pos] = code;                 pos++;             }             else             {                 MakeKey(tree.GetLeftChild, code + "0");                 MakeKey(tree.GetRightChild, code + "1");             }         }     } } |