github.com/gogf/gf@v1.16.9/.example/container/gtree/gtree_avltree.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/gogf/gf/container/gtree" 7 "github.com/gogf/gf/util/gutil" 8 ) 9 10 func main() { 11 tree := gtree.NewAVLTree(gutil.ComparatorInt) 12 for i := 0; i < 10; i++ { 13 tree.Set(i, i*10) 14 } 15 // 打印树形 16 tree.Print() 17 // 前序遍历 18 fmt.Println("ASC:") 19 tree.IteratorAsc(func(key, value interface{}) bool { 20 fmt.Println(key, value) 21 return true 22 }) 23 // 后续遍历 24 fmt.Println("DESC:") 25 tree.IteratorDesc(func(key, value interface{}) bool { 26 fmt.Println(key, value) 27 return true 28 }) 29 }