Documentation ¶
Overview ¶
gtree 包提供了并发安全/不安全的树容器。
部分实现来源于:https://github.com/emirpasic/gods md5:d7058919da3c4b80
Index ¶
- type X结构_AVLTree
- func (tree *X结构_AVLTree) Ceiling(key interface{}) (ceiling *X结构_AVLTreeNode, 成功 bool)
- func (tree *X结构_AVLTree) Clear()
- func (tree *X结构_AVLTree) Contains(key interface{}) bool
- func (tree *X结构_AVLTree) Flip(comparator ...func(v1, v2 interface{}) int)
- func (tree *X结构_AVLTree) Floor(key interface{}) (floor *X结构_AVLTreeNode, 成功 bool)
- func (tree *X结构_AVLTree) Get(key interface{}) (value interface{})
- func (tree *X结构_AVLTree) GetOrSet(key interface{}, value interface{}) interface{}
- func (tree *X结构_AVLTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_AVLTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_AVLTree) GetVar(key interface{}) *gvar.X结构_泛型类
- func (tree *X结构_AVLTree) GetVarOrSet(key interface{}, value interface{}) *gvar.X结构_泛型类
- func (tree *X结构_AVLTree) GetVarOrSetFunc(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_AVLTree) GetVarOrSetFuncLock(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_AVLTree) IsEmpty() bool
- func (tree *X结构_AVLTree) IteratorAsc(f func(key, value interface{}) bool)
- func (tree *X结构_AVLTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_AVLTree) IteratorDesc(f func(key, value interface{}) bool)
- func (tree *X结构_AVLTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_AVLTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_AVLTree) Keys() []interface{}
- func (tree *X结构_AVLTree) Left() *X结构_AVLTreeNode
- func (tree *X结构_AVLTree) Map() map[interface{}]interface{}
- func (tree X结构_AVLTree) MarshalJSON() (jsonBytes []byte, err error)
- func (tree *X结构_AVLTree) Print()
- func (tree *X结构_AVLTree) Remove(key interface{}) (value interface{})
- func (tree *X结构_AVLTree) Removes(keys []interface{})
- func (tree *X结构_AVLTree) Replace(data map[interface{}]interface{})
- func (tree *X结构_AVLTree) Right() *X结构_AVLTreeNode
- func (tree *X结构_AVLTree) Search(key interface{}) (value interface{}, 成功 bool)
- func (tree *X结构_AVLTree) SetIfNotExist(key interface{}, value interface{}) bool
- func (tree *X结构_AVLTree) SetIfNotExistFunc(key interface{}, f func() interface{}) bool
- func (tree *X结构_AVLTree) SetIfNotExistFuncLock(key interface{}, f func() interface{}) bool
- func (tree *X结构_AVLTree) Sets(data map[interface{}]interface{})
- func (tree *X结构_AVLTree) Size() int
- func (tree *X结构_AVLTree) String() string
- func (tree *X结构_AVLTree) Values() []interface{}
- func (tree *X结构_AVLTree) X取MapStrAny() map[string]interface{}
- func (tree *X结构_AVLTree) X浅拷贝对象() *X结构_AVLTree
- func (tree *X结构_AVLTree) X设置值(key interface{}, value interface{})
- func (tree *X结构_AVLTree) X遍历(f func(key, value interface{}) bool)
- type X结构_AVLTreeNode
- type X结构_BTree
- func (tree *X结构_BTree) Clear()
- func (tree *X结构_BTree) Contains(key interface{}) bool
- func (tree *X结构_BTree) Get(key interface{}) (value interface{})
- func (tree *X结构_BTree) GetOrSet(key interface{}, value interface{}) interface{}
- func (tree *X结构_BTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_BTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_BTree) GetVar(key interface{}) *gvar.X结构_泛型类
- func (tree *X结构_BTree) GetVarOrSet(key interface{}, value interface{}) *gvar.X结构_泛型类
- func (tree *X结构_BTree) GetVarOrSetFunc(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_BTree) GetVarOrSetFuncLock(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_BTree) Height() int
- func (tree *X结构_BTree) IsEmpty() bool
- func (tree *X结构_BTree) IteratorAsc(f func(key, value interface{}) bool)
- func (tree *X结构_BTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_BTree) IteratorDesc(f func(key, value interface{}) bool)
- func (tree *X结构_BTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_BTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_BTree) Keys() []interface{}
- func (tree *X结构_BTree) Left() *X结构_BTreeEntry
- func (tree *X结构_BTree) Map() map[interface{}]interface{}
- func (tree X结构_BTree) MarshalJSON() (jsonBytes []byte, err error)
- func (tree *X结构_BTree) Print()
- func (tree *X结构_BTree) Remove(key interface{}) (value interface{})
- func (tree *X结构_BTree) Removes(keys []interface{})
- func (tree *X结构_BTree) Replace(data map[interface{}]interface{})
- func (tree *X结构_BTree) Right() *X结构_BTreeEntry
- func (tree *X结构_BTree) Search(key interface{}) (value interface{}, 成功 bool)
- func (tree *X结构_BTree) SetIfNotExist(key interface{}, value interface{}) bool
- func (tree *X结构_BTree) SetIfNotExistFunc(key interface{}, f func() interface{}) bool
- func (tree *X结构_BTree) SetIfNotExistFuncLock(key interface{}, f func() interface{}) bool
- func (tree *X结构_BTree) Sets(data map[interface{}]interface{})
- func (tree *X结构_BTree) Size() int
- func (tree *X结构_BTree) String() string
- func (tree *X结构_BTree) Values() []interface{}
- func (tree *X结构_BTree) X取MapStrAny() map[string]interface{}
- func (tree *X结构_BTree) X浅拷贝对象() *X结构_BTree
- func (tree *X结构_BTree) X设置值(key interface{}, value interface{})
- func (tree *X结构_BTree) X遍历(f func(key, value interface{}) bool)
- type X结构_BTreeEntry
- type X结构_BTreeNode
- type X结构_RedBlackTree
- func (tree *X结构_RedBlackTree) Ceiling(key interface{}) (ceiling *X结构_RedBlackTreeNode, 成功 bool)
- func (tree *X结构_RedBlackTree) Clear()
- func (tree *X结构_RedBlackTree) Contains(key interface{}) bool
- func (tree *X结构_RedBlackTree) Flip(comparator ...func(v1, v2 interface{}) int)
- func (tree *X结构_RedBlackTree) Floor(key interface{}) (floor *X结构_RedBlackTreeNode, 成功 bool)
- func (tree *X结构_RedBlackTree) Get(key interface{}) (value interface{})
- func (tree *X结构_RedBlackTree) GetOrSet(key interface{}, value interface{}) interface{}
- func (tree *X结构_RedBlackTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_RedBlackTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
- func (tree *X结构_RedBlackTree) GetVar(key interface{}) *gvar.X结构_泛型类
- func (tree *X结构_RedBlackTree) GetVarOrSet(key interface{}, value interface{}) *gvar.X结构_泛型类
- func (tree *X结构_RedBlackTree) GetVarOrSetFunc(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_RedBlackTree) GetVarOrSetFuncLock(key interface{}, f func() interface{}) *gvar.X结构_泛型类
- func (tree *X结构_RedBlackTree) IsEmpty() bool
- func (tree *X结构_RedBlackTree) IteratorAsc(f func(key, value interface{}) bool)
- func (tree *X结构_RedBlackTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_RedBlackTree) IteratorDesc(f func(key, value interface{}) bool)
- func (tree *X结构_RedBlackTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_RedBlackTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
- func (tree *X结构_RedBlackTree) Keys() []interface{}
- func (tree *X结构_RedBlackTree) Left() *X结构_RedBlackTreeNode
- func (tree *X结构_RedBlackTree) Map() map[interface{}]interface{}
- func (tree X结构_RedBlackTree) MarshalJSON() (jsonBytes []byte, err error)
- func (tree *X结构_RedBlackTree) Print()
- func (tree *X结构_RedBlackTree) Remove(key interface{}) (value interface{})
- func (tree *X结构_RedBlackTree) Removes(keys []interface{})
- func (tree *X结构_RedBlackTree) Replace(data map[interface{}]interface{})
- func (tree *X结构_RedBlackTree) Right() *X结构_RedBlackTreeNode
- func (tree *X结构_RedBlackTree) Search(key interface{}) (value interface{}, 成功 bool)
- func (tree *X结构_RedBlackTree) SetComparator(comparator func(a, b interface{}) int)
- func (tree *X结构_RedBlackTree) SetIfNotExist(key interface{}, value interface{}) bool
- func (tree *X结构_RedBlackTree) SetIfNotExistFunc(key interface{}, f func() interface{}) bool
- func (tree *X结构_RedBlackTree) SetIfNotExistFuncLock(key interface{}, f func() interface{}) bool
- func (tree *X结构_RedBlackTree) Sets(data map[interface{}]interface{})
- func (tree *X结构_RedBlackTree) Size() int
- func (tree *X结构_RedBlackTree) String() string
- func (tree *X结构_RedBlackTree) UnmarshalJSON(b []byte) error
- func (tree *X结构_RedBlackTree) UnmarshalValue(值 interface{}) (错误 error)
- func (tree *X结构_RedBlackTree) Values() []interface{}
- func (tree *X结构_RedBlackTree) X取MapStrAny() map[string]interface{}
- func (tree *X结构_RedBlackTree) X浅拷贝对象() *X结构_RedBlackTree
- func (tree *X结构_RedBlackTree) X设置值(key interface{}, value interface{})
- func (tree *X结构_RedBlackTree) X遍历(f func(key, value interface{}) bool)
- type X结构_RedBlackTreeNode
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type X结构_AVLTree ¶
type X结构_AVLTree struct {
// contains filtered or unexported fields
}
X结构_AVLTree 存储AVL树的元素。 md5:d108e2d6ca60747c
func NewAVLTree ¶
func NewAVLTree(comparator func(v1, v2 interface{}) int, safe ...bool) *X结构_AVLTree
NewAVLTree 创建一个带有自定义键比较器的AVL树。 参数 `safe` 用于指定是否需要并发安全,默认为false。 md5:dfb13f71bc07620c
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { avlTree := gtree.NewAVLTree(gutil.X比较文本) for i := 0; i < 6; i++ { avlTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } fmt.Println(avlTree) }
Output: │ ┌── key5 │ ┌── key4 └── key3 │ ┌── key2 └── key1 └── key0
func NewAVLTreeFrom ¶
func NewAVLTreeFrom(comparator func(v1, v2 interface{}) int, data map[interface{}]interface{}, safe ...bool) *X结构_AVLTree
NewAVLTreeFrom 使用自定义的键比较器和数据映射初始化一个AVL树。 参数`safe`用于指定是否在并发安全模式下使用树,其默认值为false。 md5:856b75ecd9dc1540
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { avlTree := gtree.NewAVLTree(gutil.X比较文本) for i := 0; i < 6; i++ { avlTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } otherAvlTree := gtree.NewAVLTreeFrom(gutil.X比较文本, avlTree.Map()) fmt.Println(otherAvlTree) // May Output: // │ ┌── key5 // │ │ └── key4 // └── key3 // │ ┌── key2 // └── key1 // └── key0 }
Output:
func (*X结构_AVLTree) Ceiling ¶
func (tree *X结构_AVLTree) Ceiling(key interface{}) (ceiling *X结构_AVLTreeNode, 成功 bool)
Ceiling 找到输入键的天花板节点,如果没有找到天花板节点,则返回nil。第二个返回参数表示是否找到了天花板(true)或未找到(false)。
定义天花板节点为大于或等于给定节点的最小节点。可能找不到天花板节点,因为树为空,或者树中的所有节点都小于给定节点。
键应遵循比较器的类型断言,否则方法会 panic。 md5:6b92342a03f9f586
func (*X结构_AVLTree) Contains ¶
func (tree *X结构_AVLTree) Contains(key interface{}) bool
Contains 检查键 `key` 是否存在于树中。 md5:77fd85af8e586867
func (*X结构_AVLTree) Flip ¶
func (tree *X结构_AVLTree) Flip(comparator ...func(v1, v2 interface{}) int)
Flip 将树中的键值对交换为值键。 请注意,你应该确保值的类型与键相同,否则比较器会panic。
如果值的类型与键不同,你需要传递新的 `comparator`。 md5:e71ceac22aee55f1
func (*X结构_AVLTree) Floor ¶
func (tree *X结构_AVLTree) Floor(key interface{}) (floor *X结构_AVLTreeNode, 成功 bool)
Floor 找到输入键的地板节点,如果没有找到地板节点,则返回nil。第二个返回参数表示是否找到了地板,如果找到为true,否则为false。
地板节点定义为大于或等于给定节点的最大节点。可能找不到地板节点,原因可能是树为空,或者树中的所有节点都大于给定节点。
键应遵循比较器的类型断言,否则方法会 panic。 md5:720f6000179912eb
func (*X结构_AVLTree) Get ¶
func (tree *X结构_AVLTree) Get(key interface{}) (value interface{})
Get 通过`key`在树中搜索节点,并返回其值,如果`key`在树中未找到,则返回nil。 md5:2e2483db20a69167
func (*X结构_AVLTree) GetOrSet ¶
func (tree *X结构_AVLTree) GetOrSet(key interface{}, value interface{}) interface{}
GetOrSet 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b
func (*X结构_AVLTree) GetOrSetFunc ¶
func (tree *X结构_AVLTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
GetOrSetFunc 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*X结构_AVLTree) GetOrSetFuncLock ¶
func (tree *X结构_AVLTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
GetOrSetFuncLock 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*X结构_AVLTree) GetVar ¶
func (tree *X结构_AVLTree) GetVar(key interface{}) *gvar.X结构_泛型类
GetVar 函数通过给定的 `key` 返回一个 gvar.Var,其值为对应的变量。 返回的 gvar.Var 不是并发安全的。 md5:a04747902e4bf242
func (*X结构_AVLTree) GetVarOrSet ¶
func (tree *X结构_AVLTree) GetVarOrSet(key interface{}, value interface{}) *gvar.X结构_泛型类
GetVarOrSet 返回一个从 GetVarOrSet 获取的结果的 gvar.Var。返回的 gvar.Var 不是线程安全的。 md5:089beb08264e18cf
func (*X结构_AVLTree) GetVarOrSetFunc ¶
func (tree *X结构_AVLTree) GetVarOrSetFunc(key interface{}, f func() interface{}) *gvar.X结构_泛型类
GetVarOrSetFunc 返回一个 gvar.Var,其结果来自 GetOrSetFunc。 返回的 gvar.Var 不是线程安全的。 md5:8c97b145faade5ae
func (*X结构_AVLTree) GetVarOrSetFuncLock ¶
func (tree *X结构_AVLTree) GetVarOrSetFuncLock(key interface{}, f func() interface{}) *gvar.X结构_泛型类
GetVarOrSetFuncLock 返回一个gvar.Var,其结果来自GetOrSetFuncLock。 返回的gvar.Var是非并发安全的。 md5:90c22300c2187ce4
func (*X结构_AVLTree) IsEmpty ¶
func (tree *X结构_AVLTree) IsEmpty() bool
IsEmpty 如果树中不包含任何节点,则返回true。 md5:8f7ae813360d880b
func (*X结构_AVLTree) IteratorAsc ¶
func (tree *X结构_AVLTree) IteratorAsc(f func(key, value interface{}) bool)
IteratorAsc 使用给定的回调函数 `f` 以升序遍历树(只读)。如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c13b99ae40add3b0
func (*X结构_AVLTree) IteratorAscFrom ¶
func (tree *X结构_AVLTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorAscFrom 从给定的回调函数 `f` 以升序遍历树。 参数 `key` 指定了遍历的起始条目。`match` 参数指定如果 `key` 完全匹配时是否开始遍历,否则使用索引搜索进行遍历。 如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c04855bbd3989808
func (*X结构_AVLTree) IteratorDesc ¶
func (tree *X结构_AVLTree) IteratorDesc(f func(key, value interface{}) bool)
IteratorDesc 以降序方式遍历树,使用给定的回调函数 `f`。如果 `f` 返回 true,则继续遍历;否则停止。 md5:f6740ea55dafe4bb
func (*X结构_AVLTree) IteratorDescFrom ¶
func (tree *X结构_AVLTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorDescFrom 以降序方式遍历树,使用给定的回调函数 `f`。参数 `key` 指定开始遍历的条目。`match` 表示是否在 `key` 完全匹配时开始遍历,否则使用索引搜索遍历。如果 `f` 返回 true,则继续遍历;否则停止。 md5:e6bb2f7d12ab34f6
func (*X结构_AVLTree) IteratorFrom ¶
func (tree *X结构_AVLTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorFrom是IteratorAscFrom的别名。 md5:6d3d506bcb5fe942
func (*X结构_AVLTree) Keys ¶
func (tree *X结构_AVLTree) Keys() []interface{}
Keys 返回所有键,按升序排列。 md5:c2a692ea3491e160
func (*X结构_AVLTree) Left ¶
func (tree *X结构_AVLTree) Left() *X结构_AVLTreeNode
Left 返回 AVL 树中的最小元素 如果树为空,则返回 nil。 md5:d6b4c070feb60521
func (*X结构_AVLTree) Map ¶
func (tree *X结构_AVLTree) Map() map[interface{}]interface{}
Map 返回所有键值对项作为一个映射。 md5:c12ca822a6c71dc1
func (X结构_AVLTree) MarshalJSON ¶
func (tree X结构_AVLTree) MarshalJSON() (jsonBytes []byte, err error)
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_AVLTree) Remove ¶
func (tree *X结构_AVLTree) Remove(key interface{}) (value interface{})
Remove 通过键从树中移除节点。 键应符合比较器的类型断言,否则方法将 panic。 md5:23794cd4708d8756
func (*X结构_AVLTree) Removes ¶
func (tree *X结构_AVLTree) Removes(keys []interface{})
通过`keys`移除树中的批量删除值。 md5:4620c81ac88b2936
func (*X结构_AVLTree) Replace ¶
func (tree *X结构_AVLTree) Replace(data map[interface{}]interface{})
使用给定的`data`替换树中的数据。 md5:ff636c579597f294
func (*X结构_AVLTree) Right ¶
func (tree *X结构_AVLTree) Right() *X结构_AVLTreeNode
Right 返回AVL树中的最大元素,如果树为空则返回nil。 md5:7f0d34ae61ed561f
func (*X结构_AVLTree) Search ¶
func (tree *X结构_AVLTree) Search(key interface{}) (value interface{}, 成功 bool)
Search 函数使用给定的 `key` 在树中进行查找。 第二个返回参数 `found` 为 true 表示找到了键,否则为 false。 md5:d151c3783cadda2c
func (*X结构_AVLTree) SetIfNotExist ¶
func (tree *X结构_AVLTree) SetIfNotExist(key interface{}, value interface{}) bool
SetIfNotExist 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*X结构_AVLTree) SetIfNotExistFunc ¶
func (tree *X结构_AVLTree) SetIfNotExistFunc(key interface{}, f func() interface{}) bool
SetIfNotExistFunc 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*X结构_AVLTree) SetIfNotExistFuncLock ¶
func (tree *X结构_AVLTree) SetIfNotExistFuncLock(key interface{}, f func() interface{}) bool
SetIfNotExistFuncLock 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
func (*X结构_AVLTree) Sets ¶
func (tree *X结构_AVLTree) Sets(data map[interface{}]interface{})
设置批处理将键值对添加到树中。 md5:70c6ec85c8b7476c
func (*X结构_AVLTree) String ¶
func (tree *X结构_AVLTree) String() string
String 返回容器的字符串表示形式. md5:7daf925d59987319
func (*X结构_AVLTree) Values ¶
func (tree *X结构_AVLTree) Values() []interface{}
Values返回根据键值升序排列的所有值。 md5:6268d60d7aa20c91
func (*X结构_AVLTree) X取MapStrAny ¶
func (tree *X结构_AVLTree) X取MapStrAny() map[string]interface{}
X取MapStrAny 将所有键值对作为 map[string]interface{} 返回。 md5:412456aafc43f7a8
func (*X结构_AVLTree) X浅拷贝对象 ¶
func (tree *X结构_AVLTree) X浅拷贝对象() *X结构_AVLTree
X浅拷贝对象 返回一个新的树,其中包含当前树的副本。 md5:256477216ae712b7
func (*X结构_AVLTree) X设置值 ¶
func (tree *X结构_AVLTree) X设置值(key interface{}, value interface{})
X设置值 将节点插入到树中。 md5:8af837873ed60d6a
func (*X结构_AVLTree) X遍历 ¶
func (tree *X结构_AVLTree) X遍历(f func(key, value interface{}) bool)
X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845
type X结构_AVLTreeNode ¶
type X结构_AVLTreeNode struct { Key interface{} Value interface{} // contains filtered or unexported fields }
X结构_AVLTreeNode 是树中的一个元素。 md5:ae1bf04ae171ca4e
func (*X结构_AVLTreeNode) Next ¶
func (node *X结构_AVLTreeNode) Next() *X结构_AVLTreeNode
Next 返回AVL树中序遍历的下一个元素。 md5:bf33a084df1455d4
func (*X结构_AVLTreeNode) Prev ¶
func (node *X结构_AVLTreeNode) Prev() *X结构_AVLTreeNode
Prev 返回AVL树中序遍历的上一个元素。 md5:d859f5a91f8afa30
type X结构_BTree ¶
type X结构_BTree struct {
// contains filtered or unexported fields
}
X结构_BTree 存储 B 树的元素。 md5:191d2e09c9c918ab
func NewBTree ¶
NewBTree 创建一个具有 `m`(最大子节点数)和自定义键比较器的 B 树。参数 `safe` 用于指定是否在并发安全模式下使用树,其默认值为 false。 注意,`m` 必须大于或等于 3,否则将引发 panic。 md5:63e15eb274ca4e1d
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { bTree := gtree.NewBTree(3, gutil.X比较文本) for i := 0; i < 6; i++ { bTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } fmt.Println(bTree.Map()) }
Output: map[key0:val0 key1:val1 key2:val2 key3:val3 key4:val4 key5:val5]
func NewBTreeFrom ¶
func NewBTreeFrom(m int, comparator func(v1, v2 interface{}) int, data map[interface{}]interface{}, safe ...bool) *X结构_BTree
NewBTreeFrom 根据给定的参数实例化一个 B-树,包括孩子节点的最大数量 `m`、自定义键比较器和数据映射。 参数 `safe` 用于指定是否需要并发安全,默认情况下为 false。 md5:7a8fbca9b49feb70
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { bTree := gtree.NewBTree(3, gutil.X比较文本) for i := 0; i < 6; i++ { bTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } otherBTree := gtree.NewBTreeFrom(3, gutil.X比较文本, bTree.Map()) fmt.Println(otherBTree.Map()) }
Output: map[key0:val0 key1:val1 key2:val2 key3:val3 key4:val4 key5:val5]
func (*X结构_BTree) Get ¶
func (tree *X结构_BTree) Get(key interface{}) (value interface{})
Get 通过`key`在树中搜索节点,并返回其值,如果`key`在树中未找到,则返回nil。 md5:2e2483db20a69167
func (*X结构_BTree) GetOrSet ¶
func (tree *X结构_BTree) GetOrSet(key interface{}, value interface{}) interface{}
GetOrSet 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b
func (*X结构_BTree) GetOrSetFunc ¶
func (tree *X结构_BTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
GetOrSetFunc 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*X结构_BTree) GetOrSetFuncLock ¶
func (tree *X结构_BTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
GetOrSetFuncLock 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*X结构_BTree) GetVar ¶
GetVar 函数通过给定的 `key` 返回一个 gvar.Var,其值为对应的变量。 返回的 gvar.Var 不是并发安全的。 md5:a04747902e4bf242
func (*X结构_BTree) GetVarOrSet ¶
GetVarOrSet 返回一个从 GetVarOrSet 获取的结果的 gvar.Var。返回的 gvar.Var 不是线程安全的。 md5:089beb08264e18cf
func (*X结构_BTree) GetVarOrSetFunc ¶
GetVarOrSetFunc 返回一个 gvar.Var,其结果来自 GetOrSetFunc。 返回的 gvar.Var 不是线程安全的。 md5:8c97b145faade5ae
func (*X结构_BTree) GetVarOrSetFuncLock ¶
GetVarOrSetFuncLock 返回一个gvar.Var,其结果来自GetOrSetFuncLock。 返回的gvar.Var是非并发安全的。 md5:90c22300c2187ce4
func (*X结构_BTree) IteratorAsc ¶
IteratorAsc 使用给定的回调函数 `f` 以升序遍历树(只读)。如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c13b99ae40add3b0
func (*X结构_BTree) IteratorAscFrom ¶
func (tree *X结构_BTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorAscFrom 从给定的回调函数 `f` 以升序遍历树。 参数 `key` 指定了遍历的起始条目。`match` 参数指定如果 `key` 完全匹配时是否开始遍历,否则使用索引搜索进行遍历。 如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c04855bbd3989808
func (*X结构_BTree) IteratorDesc ¶
IteratorDesc 以降序方式遍历树,使用给定的回调函数 `f`。如果 `f` 返回 true,则继续遍历;否则停止。 md5:f6740ea55dafe4bb
func (*X结构_BTree) IteratorDescFrom ¶
func (tree *X结构_BTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorDescFrom 以降序方式遍历树,使用给定的回调函数 `f`。参数 `key` 指定开始遍历的条目。`match` 表示是否在 `key` 完全匹配时开始遍历,否则使用索引搜索遍历。如果 `f` 返回 true,则继续遍历;否则停止。 md5:e6bb2f7d12ab34f6
func (*X结构_BTree) IteratorFrom ¶
func (tree *X结构_BTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorFrom是IteratorAscFrom的别名。 md5:6d3d506bcb5fe942
func (*X结构_BTree) Keys ¶
func (tree *X结构_BTree) Keys() []interface{}
Keys 返回所有键,按升序排列。 md5:c2a692ea3491e160
func (*X结构_BTree) Left ¶
func (tree *X结构_BTree) Left() *X结构_BTreeEntry
Left 返回最左边(最小)的条目,如果树为空则返回 nil。 md5:57cf05edc8d10b88
func (*X结构_BTree) Map ¶
func (tree *X结构_BTree) Map() map[interface{}]interface{}
Map 返回所有键值对项作为一个映射。 md5:c12ca822a6c71dc1
func (X结构_BTree) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_BTree) Remove ¶
func (tree *X结构_BTree) Remove(key interface{}) (value interface{})
Remove 通过 `key` 从树中移除节点。 md5:42fcfa1d28b3945f
func (*X结构_BTree) Removes ¶
func (tree *X结构_BTree) Removes(keys []interface{})
通过`keys`移除树中的批量删除值。 md5:4620c81ac88b2936
func (*X结构_BTree) Replace ¶
func (tree *X结构_BTree) Replace(data map[interface{}]interface{})
使用给定的`data`替换树中的数据。 md5:ff636c579597f294
func (*X结构_BTree) Right ¶
func (tree *X结构_BTree) Right() *X结构_BTreeEntry
Right 返回最右边(最大)的条目,如果树为空则返回 nil。 md5:cd331b29b9cc98f8
func (*X结构_BTree) Search ¶
Search 函数使用给定的 `key` 在树中进行查找。 第二个返回参数 `found` 为 true 表示找到了键,否则为 false。 md5:d151c3783cadda2c
func (*X结构_BTree) SetIfNotExist ¶
SetIfNotExist 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*X结构_BTree) SetIfNotExistFunc ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*X结构_BTree) SetIfNotExistFuncLock ¶
SetIfNotExistFuncLock 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
func (*X结构_BTree) Sets ¶
func (tree *X结构_BTree) Sets(data map[interface{}]interface{})
设置批处理将键值对添加到树中。 md5:70c6ec85c8b7476c
func (*X结构_BTree) Values ¶
func (tree *X结构_BTree) Values() []interface{}
Values返回根据键值升序排列的所有值。 md5:6268d60d7aa20c91
func (*X结构_BTree) X取MapStrAny ¶
X取MapStrAny 将所有键值对作为 map[string]interface{} 返回。 md5:412456aafc43f7a8
type X结构_BTreeEntry ¶
type X结构_BTreeEntry struct { Key interface{} Value interface{} }
X结构_BTreeEntry表示节点中包含的键值对。 md5:215d17b4d8c2f829
type X结构_BTreeNode ¶
type X结构_BTreeNode struct { Parent *X结构_BTreeNode Entries []*X结构_BTreeEntry // Contained keys in node Children []*X结构_BTreeNode // Children nodes }
X结构_BTreeNode 是树中的一个单个元素。 md5:f6e73ea6e5510845
type X结构_RedBlackTree ¶
type X结构_RedBlackTree struct {
// contains filtered or unexported fields
}
X结构_RedBlackTree 保存红黑树中的元素。 md5:5b20879b021304e2
func NewRedBlackTree ¶
func NewRedBlackTree(comparator func(v1, v2 interface{}) int, safe ...bool) *X结构_RedBlackTree
NewRedBlackTree 使用自定义键比较器创建一个红黑树。 参数 `safe` 用于指定是否在并发安全模式下使用树,默认为 false。 md5:ee97b0369d4155af
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { rbTree := gtree.NewRedBlackTree(gutil.X比较文本) for i := 0; i < 6; i++ { rbTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } fmt.Println(rbTree) }
Output: │ ┌── key5 │ ┌── key4 │ ┌── key3 │ │ └── key2 └── key1 └── key0
func NewRedBlackTreeFrom ¶
func NewRedBlackTreeFrom(comparator func(v1, v2 interface{}) int, data map[interface{}]interface{}, safe ...bool) *X结构_RedBlackTree
NewRedBlackTreeFrom 根据自定义的键比较器和`data`映射实例化一个红黑树。 参数 `safe` 用于指定是否需要在并发安全的环境下使用该树, 默认情况下为false。 md5:d8480b30bce45a04
Example ¶
package main import ( "fmt" gtree "gitee.com/go_888/goframe/container/gtree" gconv "gitee.com/go_888/goframe/util/gconv" gutil "gitee.com/go_888/goframe/util/gutil" ) func main() { rbTree := gtree.NewRedBlackTree(gutil.X比较文本) for i := 0; i < 6; i++ { rbTree.X设置值("key"+gconv.String(i), "val"+gconv.String(i)) } otherRBTree := gtree.NewRedBlackTreeFrom(gutil.X比较文本, rbTree.Map()) fmt.Println(otherRBTree) // May Output: // │ ┌── key5 // │ ┌── key4 // │ ┌── key3 // │ │ └── key2 // └── key1 // └── key0 }
Output:
func (*X结构_RedBlackTree) Ceiling ¶
func (tree *X结构_RedBlackTree) Ceiling(key interface{}) (ceiling *X结构_RedBlackTreeNode, 成功 bool)
Ceiling找到输入键的天花板节点,如果没有找到天花板节点则返回nil。第二个返回参数表示是否找到了天花板,否则为false。
定义天花板节点为其键大于或等于给定`key`的最小节点。可能找不到天花板节点,原因可能是树为空,或者树中的所有节点都小于给定节点。 md5:3d6d229626a6b5b2
func (*X结构_RedBlackTree) Clear ¶
func (tree *X结构_RedBlackTree) Clear()
Clear 从树中移除所有节点。 md5:a7db742922264980
func (*X结构_RedBlackTree) Contains ¶
func (tree *X结构_RedBlackTree) Contains(key interface{}) bool
Contains 检查键 `key` 是否存在于树中。 md5:77fd85af8e586867
func (*X结构_RedBlackTree) Flip ¶
func (tree *X结构_RedBlackTree) Flip(comparator ...func(v1, v2 interface{}) int)
Flip 将树中的键值对交换为值键。 请注意,你应该确保值的类型与键相同,否则比较器会panic。
如果值的类型与键不同,你需要传递新的 `comparator`。 md5:e71ceac22aee55f1
func (*X结构_RedBlackTree) Floor ¶
func (tree *X结构_RedBlackTree) Floor(key interface{}) (floor *X结构_RedBlackTreeNode, 成功 bool)
Floor 找到输入键的地板节点,如果没有找到地板节点,则返回nil。第二个返回参数表示是否找到了地板(true表示找到,false表示未找到)。
地板节点定义为其键小于或等于给定`key`的最大节点。可能无法找到地板节点,因为树为空,或者树中的所有节点都大于给定节点。 md5:e76dc868738ea5a0
func (*X结构_RedBlackTree) Get ¶
func (tree *X结构_RedBlackTree) Get(key interface{}) (value interface{})
Get 通过`key`在树中搜索节点,并返回其值,如果`key`在树中未找到,则返回nil。 md5:2e2483db20a69167
func (*X结构_RedBlackTree) GetOrSet ¶
func (tree *X结构_RedBlackTree) GetOrSet(key interface{}, value interface{}) interface{}
GetOrSet 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b
func (*X结构_RedBlackTree) GetOrSetFunc ¶
func (tree *X结构_RedBlackTree) GetOrSetFunc(key interface{}, f func() interface{}) interface{}
GetOrSetFunc 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*X结构_RedBlackTree) GetOrSetFuncLock ¶
func (tree *X结构_RedBlackTree) GetOrSetFuncLock(key interface{}, f func() interface{}) interface{}
GetOrSetFuncLock 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*X结构_RedBlackTree) GetVar ¶
func (tree *X结构_RedBlackTree) GetVar(key interface{}) *gvar.X结构_泛型类
GetVar 函数通过给定的 `key` 返回一个 gvar.Var,其值为对应的变量。 返回的 gvar.Var 不是并发安全的。 md5:a04747902e4bf242
func (*X结构_RedBlackTree) GetVarOrSet ¶
func (tree *X结构_RedBlackTree) GetVarOrSet(key interface{}, value interface{}) *gvar.X结构_泛型类
GetVarOrSet 返回一个从 GetVarOrSet 获取的结果的 gvar.Var。返回的 gvar.Var 不是线程安全的。 md5:089beb08264e18cf
func (*X结构_RedBlackTree) GetVarOrSetFunc ¶
func (tree *X结构_RedBlackTree) GetVarOrSetFunc(key interface{}, f func() interface{}) *gvar.X结构_泛型类
GetVarOrSetFunc 返回一个 gvar.Var,其结果来自 GetOrSetFunc。 返回的 gvar.Var 不是线程安全的。 md5:8c97b145faade5ae
func (*X结构_RedBlackTree) GetVarOrSetFuncLock ¶
func (tree *X结构_RedBlackTree) GetVarOrSetFuncLock(key interface{}, f func() interface{}) *gvar.X结构_泛型类
GetVarOrSetFuncLock 返回一个gvar.Var,其结果来自GetOrSetFuncLock。 返回的gvar.Var是非并发安全的。 md5:90c22300c2187ce4
func (*X结构_RedBlackTree) IsEmpty ¶
func (tree *X结构_RedBlackTree) IsEmpty() bool
IsEmpty 如果树中不包含任何节点,则返回true。 md5:8f7ae813360d880b
func (*X结构_RedBlackTree) IteratorAsc ¶
func (tree *X结构_RedBlackTree) IteratorAsc(f func(key, value interface{}) bool)
IteratorAsc 使用给定的回调函数 `f` 以升序遍历树(只读)。如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c13b99ae40add3b0
func (*X结构_RedBlackTree) IteratorAscFrom ¶
func (tree *X结构_RedBlackTree) IteratorAscFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorAscFrom 从给定的回调函数 `f` 以升序遍历树。 参数 `key` 指定了遍历的起始条目。`match` 参数指定如果 `key` 完全匹配时是否开始遍历,否则使用索引搜索进行遍历。 如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:c04855bbd3989808
func (*X结构_RedBlackTree) IteratorDesc ¶
func (tree *X结构_RedBlackTree) IteratorDesc(f func(key, value interface{}) bool)
IteratorDesc 以降序方式遍历树,使用给定的回调函数 `f`。如果 `f` 返回 true,则继续遍历;否则停止。 md5:f6740ea55dafe4bb
func (*X结构_RedBlackTree) IteratorDescFrom ¶
func (tree *X结构_RedBlackTree) IteratorDescFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorDescFrom 以降序方式遍历树,使用给定的回调函数 `f`。参数 `key` 指定开始遍历的条目。`match` 表示是否在 `key` 完全匹配时开始遍历,否则使用索引搜索遍历。如果 `f` 返回 true,则继续遍历;否则停止。 md5:e6bb2f7d12ab34f6
func (*X结构_RedBlackTree) IteratorFrom ¶
func (tree *X结构_RedBlackTree) IteratorFrom(key interface{}, match bool, f func(key, value interface{}) bool)
IteratorFrom是IteratorAscFrom的别名。 md5:6d3d506bcb5fe942
func (*X结构_RedBlackTree) Keys ¶
func (tree *X结构_RedBlackTree) Keys() []interface{}
Keys 返回所有键,按升序排列。 md5:c2a692ea3491e160
func (*X结构_RedBlackTree) Left ¶
func (tree *X结构_RedBlackTree) Left() *X结构_RedBlackTreeNode
Left 返回最左边(最小)的节点,如果树为空则返回nil。 md5:73ad6a74ff7ce0d2
func (*X结构_RedBlackTree) Map ¶
func (tree *X结构_RedBlackTree) Map() map[interface{}]interface{}
Map 返回所有键值对项作为一个映射。 md5:c12ca822a6c71dc1
func (X结构_RedBlackTree) MarshalJSON ¶
func (tree X结构_RedBlackTree) MarshalJSON() (jsonBytes []byte, err error)
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_RedBlackTree) Print ¶
func (tree *X结构_RedBlackTree) Print()
Print 将树打印到标准输出。 md5:24fd6288549a501b
func (*X结构_RedBlackTree) Remove ¶
func (tree *X结构_RedBlackTree) Remove(key interface{}) (value interface{})
Remove 通过 `key` 从树中移除节点。 md5:42fcfa1d28b3945f
func (*X结构_RedBlackTree) Removes ¶
func (tree *X结构_RedBlackTree) Removes(keys []interface{})
通过`keys`移除树中的批量删除值。 md5:4620c81ac88b2936
func (*X结构_RedBlackTree) Replace ¶
func (tree *X结构_RedBlackTree) Replace(data map[interface{}]interface{})
使用给定的`data`替换树中的数据。 md5:ff636c579597f294
func (*X结构_RedBlackTree) Right ¶
func (tree *X结构_RedBlackTree) Right() *X结构_RedBlackTreeNode
Right 返回最右边(最大)的节点,如果树为空则返回nil。 md5:92003588329d774d
func (*X结构_RedBlackTree) Search ¶
func (tree *X结构_RedBlackTree) Search(key interface{}) (value interface{}, 成功 bool)
Search 函数使用给定的 `key` 在树中进行查找。 第二个返回参数 `found` 为 true 表示找到了键,否则为 false。 md5:d151c3783cadda2c
func (*X结构_RedBlackTree) SetComparator ¶
func (tree *X结构_RedBlackTree) SetComparator(comparator func(a, b interface{}) int)
SetComparator 设置或更改排序的比较器。 md5:5108f29cfa1a4664
func (*X结构_RedBlackTree) SetIfNotExist ¶
func (tree *X结构_RedBlackTree) SetIfNotExist(key interface{}, value interface{}) bool
SetIfNotExist 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*X结构_RedBlackTree) SetIfNotExistFunc ¶
func (tree *X结构_RedBlackTree) SetIfNotExistFunc(key interface{}, f func() interface{}) bool
SetIfNotExistFunc 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*X结构_RedBlackTree) SetIfNotExistFuncLock ¶
func (tree *X结构_RedBlackTree) SetIfNotExistFuncLock(key interface{}, f func() interface{}) bool
SetIfNotExistFuncLock 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
func (*X结构_RedBlackTree) Sets ¶
func (tree *X结构_RedBlackTree) Sets(data map[interface{}]interface{})
设置批处理将键值对添加到树中。 md5:70c6ec85c8b7476c
func (*X结构_RedBlackTree) Size ¶
func (tree *X结构_RedBlackTree) Size() int
Size 返回树中的节点数量。 md5:d437d5852f80de5c
func (*X结构_RedBlackTree) String ¶
func (tree *X结构_RedBlackTree) String() string
String 返回容器的字符串表示形式。 md5:d27ed19a0d92f8aa
func (*X结构_RedBlackTree) UnmarshalJSON ¶
func (tree *X结构_RedBlackTree) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*X结构_RedBlackTree) UnmarshalValue ¶
func (tree *X结构_RedBlackTree) UnmarshalValue(值 interface{}) (错误 error)
UnmarshalValue 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
func (*X结构_RedBlackTree) Values ¶
func (tree *X结构_RedBlackTree) Values() []interface{}
Values返回根据键值升序排列的所有值。 md5:6268d60d7aa20c91
func (*X结构_RedBlackTree) X取MapStrAny ¶
func (tree *X结构_RedBlackTree) X取MapStrAny() map[string]interface{}
X取MapStrAny 将所有键值对作为 map[string]interface{} 返回。 md5:412456aafc43f7a8
func (*X结构_RedBlackTree) X浅拷贝对象 ¶
func (tree *X结构_RedBlackTree) X浅拷贝对象() *X结构_RedBlackTree
X浅拷贝对象 返回一个新的树,其中包含当前树的副本。 md5:256477216ae712b7
func (*X结构_RedBlackTree) X设置值 ¶
func (tree *X结构_RedBlackTree) X设置值(key interface{}, value interface{})
X设置值 将键值对插入到树中。 md5:af4d398e6bf21959
func (*X结构_RedBlackTree) X遍历 ¶
func (tree *X结构_RedBlackTree) X遍历(f func(key, value interface{}) bool)
X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845
type X结构_RedBlackTreeNode ¶
type X结构_RedBlackTreeNode struct { Key interface{} Value interface{} // contains filtered or unexported fields }
X结构_RedBlackTreeNode 是树中的一个元素。 md5:782ce0fe3b02c5f4