Go语言实现二叉树(BinaryTree)
二叉树的操作原理:取第一个节点为根节点,比根节点小的数放在根节点的左子树(左节点),比根节点大的数放在根节点的右子数(右节点),取得的时候按照中序遍历的方式(左-中-右)。
使用go语言实现了二叉树的一些基本功能,存储节点数据的类型为int。(有什么建议或者不懂的地方可以留言)
实现代码如下:
//节点结构体
type Node struct {
data int
leftNode *Node
rightNode *Node
}
//二叉树结构体
type BinaryTree struct {
root *Node
count int
}
//查询时记录下标
var i int=0
//添加节点
func (node *Node)addNode(newNode *Node){
if node.data>newNode.data{
if node.leftNode==nil{
node.leftNode=newNode
}else{
node.leftNode.addNode(newNode)