|
|
@ -7,10 +7,9 @@ Write a function that searches for an item with a data element equal to elem and |
|
|
|
### Expected function |
|
|
|
### Expected function |
|
|
|
|
|
|
|
|
|
|
|
```go |
|
|
|
```go |
|
|
|
func BTreeSearchItem(root *piscine_test.TreeNode, elem string) *piscine_test.TreeNode { |
|
|
|
func BTreeSearchItem(root *TreeNode, elem string) *TreeNode { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
### Usage |
|
|
|
### Usage |
|
|
@ -21,16 +20,16 @@ Here is a possible [program](TODO-LINK) to test your function : |
|
|
|
package main |
|
|
|
package main |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"fmt" |
|
|
|
piscine "." |
|
|
|
piscine ".." |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
func main() { |
|
|
|
root := &piscine_test.TreeNode{Data: "4"} |
|
|
|
root := &piscine.TreeNode{Data: "4"} |
|
|
|
piscine_test.BTreeInsertData(root, "1") |
|
|
|
piscine.BTreeInsertData(root, "1") |
|
|
|
piscine_test.BTreeInsertData(root, "7") |
|
|
|
piscine.BTreeInsertData(root, "7") |
|
|
|
piscine_test.BTreeInsertData(root, "5") |
|
|
|
piscine.BTreeInsertData(root, "5") |
|
|
|
selected := BTreeSearchItem(root, "7") |
|
|
|
selected := piscine.BTreeSearchItem(root, "7") |
|
|
|
fmt.Print("Item selected -> ") |
|
|
|
fmt.Print("Item selected -> ") |
|
|
|
if selected != nil { |
|
|
|
if selected != nil { |
|
|
|
fmt.Println(selected.Data) |
|
|
|
fmt.Println(selected.Data) |
|
|
@ -64,11 +63,11 @@ func main() { |
|
|
|
And its output : |
|
|
|
And its output : |
|
|
|
|
|
|
|
|
|
|
|
```console |
|
|
|
```console |
|
|
|
student@ubuntu:~/piscine/btreesearchitem$ go build |
|
|
|
student@ubuntu:~/piscine/test$ go build |
|
|
|
student@ubuntu:~/piscine/btreesearchitem$ ./btreesearchitem |
|
|
|
student@ubuntu:~/piscine/test$ ./test |
|
|
|
Item selected -> 7 |
|
|
|
Item selected -> 7 |
|
|
|
Parent of selected item -> 4 |
|
|
|
Parent of selected item -> 4 |
|
|
|
Left child of selected item -> 5 |
|
|
|
Left child of selected item -> 5 |
|
|
|
Right child of selected item -> nil |
|
|
|
Right child of selected item -> nil |
|
|
|
student@ubuntu:~/piscine/btreesearchitem$ |
|
|
|
student@ubuntu:~/piscine/test$ |
|
|
|
``` |
|
|
|
``` |
|
|
|