File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "fmt"
5+ )
6+
7+ type tree struct {
8+ left ,right * tree
9+ data int
10+ }
11+
12+ //inorder traversal
13+ func traverse (t * tree ){ // passing the root and channel
14+ fmt .Println ("in traverse" ,t .data )
15+ if t == nil {
16+ return
17+ }else {
18+ traverse (t .left )
19+ fmt .Println (t .data )
20+ traverse (t .right )
21+ }
22+ }
23+
24+ func insert (t * tree , l * tree ) * tree {
25+ if t == nil {
26+ return t
27+ }
28+ if l .data < t .data {
29+ fmt .Println ("Inserting into left" )
30+ insert (t .left ,l )
31+ }else {
32+ fmt .Println ("Inserting into right" )
33+ insert (t .right ,l )
34+ }
35+ return t
36+ }
37+
38+
39+ func main () {
40+ var t = new (tree )
41+ k := 80
42+ t .data = k
43+ var newnode = new (tree )
44+ newnode .data = 20
45+ insert (t ,newnode )
46+ newnode .data = 90
47+ insert (t ,newnode )
48+ traverse (t )
49+
50+ }
51+
You can’t perform that action at this time.
0 commit comments