SLIDE 5 9
Example (1/3)
p u b l i c c l a s s B i n a r y T r e e N
e { B i n a r y T r e e N
e l e f t , r i g h t ; p u b l i c v
d a d d L e f t ( B i n a r y T r e e N
e n ) { l e f t = n ; } p u b l i c v
d a d d R i g h t ( B i n a r y T r e e N
e n ) { r i g h t = n ; } }
p u b l i c c l a s s B i n a r y T r e e { B i n a r y T r e e N
e r
; p u b l i c v
d b u i l d ( ) { r
= n e w B i n a r y T r e e N
e ( ) ; B i n a r y T r e e N
e c u r N
e = r
; Wh i l e ( … ) { c u r N
e . a d d L e f t ( n e w B i n a r y T r e e N
e ( ) ) ; c u r N
e . a d d R i g h t ( n e w B i n a r y T r e e N
e ( ) ) ; } } s t a t i c p u b l i c v
d ma i n ( ) { B i n a r y T r e e b t = n e w B i n a r y T r e e ( ) ; b t . b u i l d ( ) ; } 1 2
10
Example (2/3)
1- Declarations
B i n a r y T r e e N
e . l e f t B i n a r y T r e e N
e . r i g h t B i n a r y T r e e N
e . a d d L e f t ( B i n a r y T r e e N
e . a d d L e f t . n ) B i n a r y T r e e N
e . a d d R i g h t ( B i n a r y T r e e N
e . a d d R i g h t . n ) B i n a r y T r e e . r
B i n a r y T r e e . b u i l d ( ) B i n a r y T r e e . ma i n ( )
1 2
2- Statements
B i n a r y T r e e N
e . l e f t = B i n a r y T r e e N
e . a d d L e f t . n B i n a r y T r e e N
e . r i g h t = B i n a r y T r e e N
e . a d d R i g h t . n B i n a r y T r e e . r
= B i n a r y T r e e N
e . B i n a r y T r e e N
e . t h i s B i n a r y T r e e . b u i l d . c u r N
e = B i n a r y T r e e . r
B i n a r y T r e e N
e . a d d L e f t . n = B i n a r y T r e e N
e . B i n a r y T r e e N
e . t h i s B i n a r y T r e e N
e . a d d L e f t . t h i s = B i n a r y T r e e . b u i l d . c u r N
e B i n a r y T r e e N
e . a d d R i g h t . n = B i n a r y T r e e N
e . B i n a r y T r e e N
e . t h i s B i n a r y T r e e N
e . a d d R i g h t . t h i s = B i n a r y T r e e . b u i l d . c u r N
e B i n a r y T r e e . ma i n . b t = B i n a r y T r e e . B i n a r y T r e e . t h i s B i n a r y T r e e . b u i l d . t h i s = B i n a r y T r e e . ma i n . b t
1 2