Example #1
0
        public void Iterate(RootNode rootNode)
        {
            Guard.ArgumentNotNull(rootNode, nameof(rootNode));

            Cursor = rootNode;

            foreach (var chracter in term)
            {
                Cursor = Cursor.Seek(chracter);
            }
        }
Example #2
0
        public void Iterate(RootNode rootNode)
        {
            Guard.ArgumentNotNull(rootNode, nameof(rootNode));

            var stringBuilder = new StringBuilder();

            BaseTrieNode cursor = rootNode;

            foreach (var character in term)
            {
                stringBuilder.Append(character);

                var result = cursor.CharacterNodes.ContainsKey(character);

                if (!result)
                {
                    cursor.CharacterNodes[character] = new CharacterNode(stringBuilder.ToString(), cursor);
                }

                cursor = cursor.Seek(character);
            }

            cursor.UpdateTerm(term);
        }