Files
gf/container/gtree/gtree_z_example_test.go

110 lines
2.6 KiB
Go

// Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
//
// This Source Code Form is subject to the terms of the MIT License.
// If a copy of the MIT was not distributed with this file,
// You can obtain one at https://github.com/Agogf/gf.
package gtree_test
import (
"fmt"
"github.com/gogf/gf/v2/container/gtree"
"github.com/gogf/gf/v2/util/gconv"
"github.com/gogf/gf/v2/util/gutil"
)
func ExampleNewAVLTree() {
avlTree := gtree.NewAVLTree(gutil.ComparatorString)
for i := 0; i < 6; i++ {
avlTree.Set("key"+gconv.String(i), "val"+gconv.String(i))
}
fmt.Println(avlTree)
// Output:
// │ ┌── key5
// │ ┌── key4
// └── key3
// │ ┌── key2
// └── key1
// └── key0
}
func ExampleNewAVLTreeFrom() {
avlTree := gtree.NewAVLTree(gutil.ComparatorString)
for i := 0; i < 6; i++ {
avlTree.Set("key"+gconv.String(i), "val"+gconv.String(i))
}
otherAvlTree := gtree.NewAVLTreeFrom(gutil.ComparatorString, avlTree.Map())
fmt.Println(otherAvlTree)
// May Output:
// │ ┌── key5
// │ │ └── key4
// └── key3
// │ ┌── key2
// └── key1
// └── key0
}
func ExampleNewBTree() {
bTree := gtree.NewBTree(3, gutil.ComparatorString)
for i := 0; i < 6; i++ {
bTree.Set("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 ExampleNewBTreeFrom() {
bTree := gtree.NewBTree(3, gutil.ComparatorString)
for i := 0; i < 6; i++ {
bTree.Set("key"+gconv.String(i), "val"+gconv.String(i))
}
otherBTree := gtree.NewBTreeFrom(3, gutil.ComparatorString, bTree.Map())
fmt.Println(otherBTree.Map())
// Output:
// map[key0:val0 key1:val1 key2:val2 key3:val3 key4:val4 key5:val5]
}
func ExampleNewRedBlackTree() {
rbTree := gtree.NewRedBlackTree(gutil.ComparatorString)
for i := 0; i < 6; i++ {
rbTree.Set("key"+gconv.String(i), "val"+gconv.String(i))
}
fmt.Println(rbTree)
// Output:
// │ ┌── key5
// │ ┌── key4
// │ ┌── key3
// │ │ └── key2
// └── key1
// └── key0
}
func ExampleNewRedBlackTreeFrom() {
rbTree := gtree.NewRedBlackTree(gutil.ComparatorString)
for i := 0; i < 6; i++ {
rbTree.Set("key"+gconv.String(i), "val"+gconv.String(i))
}
otherRBTree := gtree.NewRedBlackTreeFrom(gutil.ComparatorString, rbTree.Map())
fmt.Println(otherRBTree)
// May Output:
// │ ┌── key5
// │ ┌── key4
// │ ┌── key3
// │ │ └── key2
// └── key1
// └── key0
}