验证中...
语言: Go
分类: 编程语言基础
最后更新于 2018-07-18 23:35
gistfile1.txt
原始数据 复制代码
package main
import "fmt"
type tree struct {
val int
left, right *tree
}
func add(t *tree, val int) *tree {
if t == nil {
t = new(tree)
t.val = val
return t
}
//如果插入值小于节点值,则插入左子树
if val < t.val {
t.left = add(t.left, val)
} else {
t.right = add(t.right, val)
}
return t
}
func read(values []int, t *tree) []int {
if t != nil{
values = read(values, t.left)
values = append(values, t.val)
values = read(values, t.right)
}
return values
}
func main() {
var myTree *tree
var output []int
listData := []int{10, 1, 5, 2, 17, 19, 6, 20}
for _, v := range listData{
myTree = add(myTree, v)
}
output = read(output, myTree)
fmt.Println(output)
}

评论列表( 0 )

你可以在登录后,发表评论

搜索帮助