Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
36
Task/Tree-traversal/FunL/tree-traversal.funl
Normal file
36
Task/Tree-traversal/FunL/tree-traversal.funl
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
data Tree = Empty | Node( value, left, right )
|
||||
|
||||
def
|
||||
preorder( Empty ) = []
|
||||
preorder( Node(v, l, r) ) = [v] + preorder( l ) + preorder( r )
|
||||
|
||||
inorder( Empty ) = []
|
||||
inorder( Node(v, l, r) ) = inorder( l ) + [v] + inorder( r )
|
||||
|
||||
postorder( Empty ) = []
|
||||
postorder( Node(v, l, r) ) = postorder( l ) + postorder( r ) + [v]
|
||||
|
||||
levelorder( x ) =
|
||||
def
|
||||
order( [] ) = []
|
||||
order( Empty : xs ) = order( xs )
|
||||
order( Node(v, l, r) : xs ) = v : order( xs + [l, r] )
|
||||
|
||||
order( [x] )
|
||||
|
||||
tree = Node( 1,
|
||||
Node( 2,
|
||||
Node( 4,
|
||||
Node( 7, Empty, Empty ),
|
||||
Empty ),
|
||||
Node( 5, Empty, Empty ) ),
|
||||
Node( 3,
|
||||
Node( 6,
|
||||
Node( 8, Empty, Empty ),
|
||||
Node( 9, Empty, Empty ) ),
|
||||
Empty ) )
|
||||
|
||||
println( preorder(tree) )
|
||||
println( inorder(tree) )
|
||||
println( postorder(tree) )
|
||||
println( levelorder(tree) )
|
||||
Loading…
Add table
Add a link
Reference in a new issue