wlf f051014ac2 提交正常运行的所有代码 | před 1 rokem | |
---|---|---|
.. | ||
.travis.yml | před 1 rokem | |
CHANGES.md | před 1 rokem | |
LICENSE | před 1 rokem | |
README.md | před 1 rokem | |
critbit.go | před 1 rokem | |
map.go | před 1 rokem | |
net.go | před 1 rokem |
Crit-bit trees in golang and its applications.
This implementation extended to handle the key that contains a null character from C implementation.
// Create Trie
trie := critbitgo.NewTrie()
// Insert
trie.Insert([]byte("aa"), "value1")
trie.Insert([]byte("bb"), "value2")
trie.Insert([]byte("ab"), "value3")
// Get
v, ok := trie.Get([]byte("aa"))
fmt.Println(v, ok) // -> value1 true
// Iterate containing keys
trie.Allprefixed([]byte{}, func(key []byte, value interface{}) bool {
fmt.Println(key, value) // -> [97 97] value1
// [97 98] value3
// [98 98] value2
return true
})
// Delete
v, ok = trie.Delete([]byte("aa"))
fmt.Println(v, ok) // -> value1 true
v, ok = trie.Delete([]byte("aa"))
fmt.Println(v, ok) // -> <nil> false
MIT