Write a function that inserts new data in a binary search tree
following the special properties of a binary search trees
.
The nodes must be defined as follows :
type TreeNode struct {
Left, Right, Parent *TreeNode
Data string
}
func BTreeInsertData(root *TreeNode, data string) *TreeNode {
}
Here is a possible program to test your function :
package main
import (
"fmt"
"piscine"
)
func main() {
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data)
fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data)
}
And its output :
$ go run .
1
4
5
7
$