extern crate radix_trie;
use radix_trie::{Trie, TrieCommon};
fn main() {
let example = "bananaphone".to_string();
let mut trie: Trie<String, u32> = Trie::new();
let v: Vec<char> = example.chars().collect();
for window_length in 1..4 {
for a in v.windows(window_length) {
let mut s = String::new();
s.extend(a);
trie.map_with_default(s, |v| *v += 1, 1);
}
}
println!("All trie nodes");
for (k, v) in trie.iter() {
println!("{}: {}", k, v);
}
println!("All children of 'a'");
for n in trie.subtrie(&"a".to_string()).unwrap().children() {
println!("{}: {}", n.key().unwrap(), n.value().unwrap());
}
}