trees :: TrieNode :: defaultinit
# TrieNode used to store the Character key of the value
private class TrieNode[E]
var c: nullable Char
var value: nullable E
var children = new HashMap[Char, TrieNode[E]]
var is_leaf: Bool = false
fun collect_values: Array[E] do
var values = new Array[E]
var todo = new List[TrieNode[E]]
todo.add self
while todo.not_empty do
var node = todo.shift
var value = node.value
if value != null then values.add value
for child in node.children.values do
todo.push child
end
end
return values
end
end
lib/trees/trie.nit:183,1--205,3