示例#1
0
        /// <summary>
        ///
        /// </summary>
        public string[] GetSymbolCodes()
        {
            string[] symbolCodes = new string[byte.MaxValue + 1];

            rootNode.GetSymbolCode(symbolCodes);

            return(symbolCodes);
        }
 /// <summary>
 ///
 /// </summary>
 ///
 /// <param name="symbolCodes"></param>
 ///
 /// <returns></returns>
 public void GetSymbolCode(string[] symbolCodes)
 {
     if (IsLeaf)
     // The node is leaf => add it's prefix code to the hashtable.
     {
         symbolCodes[symbol] = prefix;
     }
     else
     // The node is not a leaf => recursively process it's children.
     {
         leftChildNode.GetSymbolCode(symbolCodes);
         rightChildNode.GetSymbolCode(symbolCodes);
     }
 }