接招吧,看代碼:
package main import "fmt" //二叉樹結構體 //如果每個節點有兩個指針,分別用來指向左子樹和右子樹,我們把這樣的結構叫做二叉樹 type Student struct { Name string Age int Score float32 left *Student right *Student } func trans(root *Student) { if root == nil { return } //fmt.Println(root) //前序遍歷 trans(root.left) //fmt.Println(root) //中序遍歷 trans(root.right) fmt.Println(root) //后序遍歷 } func main() { var root *Student = new(Student) root.Name = "stu01" root.Age = 18 root.Score = 100 var left1 *Student = new(Student) left1.Name = "stu02" left1.Age = 18 left1.Score = 100 root.left = left1 var right1 *Student = new(Student) right1.Name = "Stu04" right1.Age = 18 right1.Score = 100 root.right = right1 var left2 *Student = new(Student) left2.Name = "Stu03" left2.Age = 18 left2.Score = 100 left1.left = left2 trans(root) }