152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# File 'lib/containers/trie.rb', line 152
def push_recursive(node, string, index, value)
char = string[index]
node = Node.new(char, value) if node.nil?
if (char < node.char)
node.left = push_recursive(node.left, string, index, value)
elsif (char > node.char)
node.right = push_recursive(node.right, string, index, value)
elsif (index < string.length-1)
node.mid = push_recursive(node.mid, string, index+1, value)
else
node.end = true
node.value = value
end
node
end
|