github.com/gogf/gf/v2@v2.7.4/container/gtree/gtree_z_example_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with gm file, 5 // You can obtain one at https://github.com/Agogf/gf. 6 7 package gtree_test 8 9 import ( 10 "fmt" 11 12 "github.com/gogf/gf/v2/container/gtree" 13 "github.com/gogf/gf/v2/util/gconv" 14 "github.com/gogf/gf/v2/util/gutil" 15 ) 16 17 func ExampleNewAVLTree() { 18 avlTree := gtree.NewAVLTree(gutil.ComparatorString) 19 for i := 0; i < 6; i++ { 20 avlTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 21 } 22 23 fmt.Println(avlTree) 24 25 // Output: 26 // │ ┌── key5 27 // │ ┌── key4 28 // └── key3 29 // │ ┌── key2 30 // └── key1 31 // └── key0 32 } 33 34 func ExampleNewAVLTreeFrom() { 35 avlTree := gtree.NewAVLTree(gutil.ComparatorString) 36 for i := 0; i < 6; i++ { 37 avlTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 38 } 39 40 otherAvlTree := gtree.NewAVLTreeFrom(gutil.ComparatorString, avlTree.Map()) 41 fmt.Println(otherAvlTree) 42 43 // May Output: 44 // │ ┌── key5 45 // │ │ └── key4 46 // └── key3 47 // │ ┌── key2 48 // └── key1 49 // └── key0 50 } 51 52 func ExampleNewBTree() { 53 bTree := gtree.NewBTree(3, gutil.ComparatorString) 54 for i := 0; i < 6; i++ { 55 bTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 56 } 57 fmt.Println(bTree.Map()) 58 59 // Output: 60 // map[key0:val0 key1:val1 key2:val2 key3:val3 key4:val4 key5:val5] 61 } 62 63 func ExampleNewBTreeFrom() { 64 bTree := gtree.NewBTree(3, gutil.ComparatorString) 65 for i := 0; i < 6; i++ { 66 bTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 67 } 68 69 otherBTree := gtree.NewBTreeFrom(3, gutil.ComparatorString, bTree.Map()) 70 fmt.Println(otherBTree.Map()) 71 72 // Output: 73 // map[key0:val0 key1:val1 key2:val2 key3:val3 key4:val4 key5:val5] 74 } 75 76 func ExampleNewRedBlackTree() { 77 rbTree := gtree.NewRedBlackTree(gutil.ComparatorString) 78 for i := 0; i < 6; i++ { 79 rbTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 80 } 81 82 fmt.Println(rbTree) 83 84 // Output: 85 // │ ┌── key5 86 // │ ┌── key4 87 // │ ┌── key3 88 // │ │ └── key2 89 // └── key1 90 // └── key0 91 } 92 93 func ExampleNewRedBlackTreeFrom() { 94 rbTree := gtree.NewRedBlackTree(gutil.ComparatorString) 95 for i := 0; i < 6; i++ { 96 rbTree.Set("key"+gconv.String(i), "val"+gconv.String(i)) 97 } 98 99 otherRBTree := gtree.NewRedBlackTreeFrom(gutil.ComparatorString, rbTree.Map()) 100 fmt.Println(otherRBTree) 101 102 // May Output: 103 // │ ┌── key5 104 // │ ┌── key4 105 // │ ┌── key3 106 // │ │ └── key2 107 // └── key1 108 // └── key0 109 }