随身笔记
随身笔记

go树结构遍历

package main

import "fmt"

//声明自定义类型要在main函数外声明
type treeNode struct {
   value int
   left *treeNode //声明一个指针类型
   right *treeNode//声明一个指针类型
}

//打印当前跟的值
func (ab treeNode) print() {
   fmt.Println(ab.value)
}

//遍历语法
func (node *treeNode) traverse() {
  if node == nil{
     return
  }

  node.print()
  node.left.traverse()
  node.right.traverse()

}


func main() {
   //树的构成
   root := treeNode{value: 3}
    root.left=&treeNode{value: 4,left: nil,right: nil}
    root.left.left=&treeNode{value: 5,left: nil,right: nil}
    root.left.right=&treeNode{value: 6,left: nil,right: nil}

   root.right=&treeNode{value: 0,left: nil,right: nil}
   root.right.right=&treeNode{value: 1,left: nil,right: nil}
   root.right.left=&treeNode{value: 2,left: nil,right: nil}

    root.traverse()

}

根据以上代码可以,大概绘画出这样的树图:

https://sdeno.com/wp-content/uploads/2020/10/gotree.jpg

就当初公式去使用即可。

 

 

随身笔记

go树结构遍历
package main import "fmt" //声明自定义类型要在main函数外声明 type treeNode struct { value int left *treeNode //声明一个指针类型 right *treeNode//声明一个指…
扫描二维码继续阅读
2020-10-29