47 lines
978 B
Text
47 lines
978 B
Text
[ this ] is nil ( --> [ )
|
|
|
|
[ ' [ 1
|
|
[ 2
|
|
[ 4
|
|
[ 7 nil nil ]
|
|
nil ]
|
|
[ 5 nil nil ] ]
|
|
[ 3
|
|
[ 6
|
|
[ 8 nil nil ]
|
|
[ 9 nil nil ] ]
|
|
nil ] ] ] is tree ( --> [ )
|
|
|
|
[ dup nil = iff drop done
|
|
unpack swap rot
|
|
echo sp
|
|
recurse
|
|
recurse ] is pre-order ( [ --> )
|
|
|
|
[ dup nil = iff drop done
|
|
unpack unrot
|
|
recurse
|
|
echo sp
|
|
recurse ] is in-order ( [ --> )
|
|
|
|
[ dup nil = iff drop done
|
|
unpack swap
|
|
recurse
|
|
recurse
|
|
echo sp ] is post-order ( [ --> )
|
|
|
|
[ queue swap push
|
|
[ dup empty?
|
|
iff drop done
|
|
pop
|
|
dup nil = iff
|
|
drop again
|
|
unpack
|
|
rot echo sp
|
|
dip push push
|
|
again ] ] is level-order ( [ --> )
|
|
|
|
tree pre-order cr
|
|
tree in-order cr
|
|
tree post-order cr
|
|
tree level-order cr
|