## btreesearchitem ### Instructions Écrire une fonction qui cherche une node avec un élément de data égal à `elem` et qui retourne cette node. ### Fonction attendue ```go func BTreeSearchItem(root *TreeNode, elem string) *TreeNode { } ``` ### Utilisation Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : ```go package main import ( "fmt" piscine ".." ) func main() { root := &piscine.TreeNode{Data: "4"} piscine.BTreeInsertData(root, "1") piscine.BTreeInsertData(root, "7") piscine.BTreeInsertData(root, "5") selected := piscine.BTreeSearchItem(root, "7") fmt.Print("Item selected -> ") if selected != nil { fmt.Println(selected.Data) } else { fmt.Println("nil") } fmt.Print("Parent of selected item -> ") if selected.Parent != nil { fmt.Println(selected.Parent.Data) } else { fmt.Println("nil") } fmt.Print("Left child of selected item -> ") if selected.Left != nil { fmt.Println(selected.Left.Data) } else { fmt.Println("nil") } fmt.Print("Right child of selected item -> ") if selected.Right != nil { fmt.Println(selected.Right.Data) } else { fmt.Println("nil") } } ``` Et son résultat : ```console student@ubuntu:~/piscine-go/test$ go build student@ubuntu:~/piscine-go/test$ ./test Item selected -> 7 Parent of selected item -> 4 Left child of selected item -> 5 Right child of selected item -> nil student@ubuntu:~/piscine-go/test$ ```