59 lines
1.6 KiB
Text
59 lines
1.6 KiB
Text
Module CheckIt {
|
|
Null=(,)
|
|
Tree=((((Null,7,Null),4,Null),2,(Null,5,Null)),1,(((Null,8,Null),6,(Null,9,Null)),3,Null))
|
|
|
|
Module preorder (T) {
|
|
Print "preorder: ";
|
|
printtree(T)
|
|
Print
|
|
sub printtree(T)
|
|
Print T#val(1);" ";
|
|
If len(T#val(0))>0 then printtree(T#val(0))
|
|
If len(T#val(2))>0 then printtree(T#val(2))
|
|
end sub
|
|
}
|
|
preorder Tree
|
|
|
|
Module inorder (T) {
|
|
Print "inorder: ";
|
|
printtree(T)
|
|
Print
|
|
sub printtree(T)
|
|
If len(T#val(0))>0 then printtree(T#val(0))
|
|
Print T#val(1);" ";
|
|
If len(T#val(2))>0 then printtree(T#val(2))
|
|
end sub
|
|
}
|
|
inorder Tree
|
|
|
|
Module postorder (T) {
|
|
Print "postorder: ";
|
|
printtree(T)
|
|
Print
|
|
sub printtree(T)
|
|
If len(T#val(0))>0 then printtree(T#val(0))
|
|
If len(T#val(2))>0 then printtree(T#val(2))
|
|
Print T#val(1);" ";
|
|
end sub
|
|
}
|
|
postorder Tree
|
|
|
|
Module level_order (T) {
|
|
Print "level-order: ";
|
|
Stack New {
|
|
printtree(T)
|
|
if empty then exit
|
|
Read T
|
|
Loop
|
|
}
|
|
Print
|
|
sub printtree(T)
|
|
If Len(T)>0 then
|
|
Print T#val(1);" ";
|
|
Data T#val(0), T#val(2)
|
|
end if
|
|
end sub
|
|
}
|
|
level_order Tree
|
|
}
|
|
CheckIt
|