void Encode(Word word, MorseNode root) { //Log.WriteLine("Encoding {0}", word); MorseNode n = root; char c; for (int i = 0; i < word.Morse.Length; i++) { c = word.Morse[i]; if (c == '.') { if (n.Dot == null) { n.Dot = new MorseNode(n); } n = n.Dot; } else { if (n.Dash == null) { n.Dash = new MorseNode(n); } n = n.Dash; } if (i == word.Morse.Length - 1) { n.WordsEndingHere.Add(word.Letters); if (n.WordsEndingHere.Count > 1) { for (int j = 0; j < n.WordsEndingHere.Count; j++) { //Log.WriteLine("{0} shares this ending.", n.WordsEndingHere[j]); } } //Log.WriteLine("Done."); } } }
public MorseNode(MorseNode parent) { Parent = parent; }