public override void Decrypt()
 {
     clearText = "";
     string[] words = message.Split(' ');
     for (int i = 0; i < words.Length; i++)
     {
         try
         {
             datastruct.TreeNode <char> tmp = bt.Root;
             for (int j = 0; j < words[i].Length; j++)
             {
                 if (words[i][j] == dah)
                 {
                     tmp = tmp.LChild;
                 }
                 else if (words[i][j] == dit)
                 {
                     tmp = tmp.RChild;
                 }
             }
             clearText += tmp.Data;
         }
         catch
         {
             clearText += '@';
         }
     }
 }
 private void GenerateTreeNode(datastruct.TreeNode <char> root, char left, char right)
 {
     if (left != '!')
     {
         datastruct.TreeNode <char> ltn_T = new datastruct.TreeNode <char>(left);
         root.LChild = ltn_T;
     }
     if (right != '!')
     {
         datastruct.TreeNode <char> rtn_E = new datastruct.TreeNode <char>(right);
         root.RChild = rtn_E;
     }
 }