go实现树结构

//tree结构
type treenode struct {
	value       int
	left, right *treenode
}

func (node *treenode) print() {
	if node == nil {
		fmt.Println("nil=node")
	} else {
		fmt.Println(node.value)
	}

}
func (node *treenode) setVal(val int) {
	node.value = val
}

//递归函数:数据结构是递归的,操作方法是递归的
func (node *treenode) recu() {
	if node != nil {
		node.print()
		node.left.recu()
		node.right.recu()
	} else {
		return
	}

}

func main() {
	root := treenode{}
	root.setVal(0)
	root.left = &treenode{value: 1}
	root.right = &treenode{value: 2}
	root.left.left = &treenode{value: 3}
	root.left.right = &treenode{value: 4}
	root.right.left = &treenode{value: 5}
	root.right.right = &treenode{value: 6}

	root.recu()
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值