feat(Go-Tool):

2021/02/23:删除linq包使用示例,修改二进制工具与单测类,修改lomuto划分,修改前缀树与单测类,修改时间比较工具
This commit is contained in:
Huangzj
2021-02-23 10:57:41 +08:00
parent 39cee0ce6a
commit 74dd19c675
14 changed files with 98 additions and 794 deletions
+10 -2
View File
@@ -32,7 +32,7 @@ func initTrie() *Trie {
}
//往前缀树中添加对应的字符串(build模式)
func (trie *Trie) insert(word string) *Trie {
func (trie *Trie) Insert(word string) *Trie {
traverse := trie
for _, v := range []rune(word) {
if _, ok := traverse.Child[v]; !ok {
@@ -48,13 +48,21 @@ func (trie *Trie) insert(word string) *Trie {
//删除对应的字符串,如果查找不到则直接返回(build模式)
func (trie *Trie) Delete(word string) *Trie {
traverse := trie
parent := trie
var value rune
for _, v := range []rune(word) {
if _, ok := traverse.Child[v]; !ok {
return trie
}
parent = traverse
traverse = traverse.Child[v]
value = v
}
traverse.Word = emptyTag
if len(parent.Child) == 0 {
delete(parent.Child, value)
return trie
}
parent.Child[value].Word = emptyTag
return trie
}