Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
34
Task/Tree-traversal/PicoLisp/tree-traversal.l
Normal file
34
Task/Tree-traversal/PicoLisp/tree-traversal.l
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
(de preorder (Node Fun)
|
||||
(when Node
|
||||
(Fun (car Node))
|
||||
(preorder (cadr Node) Fun)
|
||||
(preorder (caddr Node) Fun) ) )
|
||||
|
||||
(de inorder (Node Fun)
|
||||
(when Node
|
||||
(inorder (cadr Node) Fun)
|
||||
(Fun (car Node))
|
||||
(inorder (caddr Node) Fun) ) )
|
||||
|
||||
(de postorder (Node Fun)
|
||||
(when Node
|
||||
(postorder (cadr Node) Fun)
|
||||
(postorder (caddr Node) Fun)
|
||||
(Fun (car Node)) ) )
|
||||
|
||||
(de level-order (Node Fun)
|
||||
(for (Q (circ Node) Q)
|
||||
(let N (fifo 'Q)
|
||||
(Fun (car N))
|
||||
(and (cadr N) (fifo 'Q @))
|
||||
(and (caddr N) (fifo 'Q @)) ) ) )
|
||||
|
||||
(setq *Tree
|
||||
(1
|
||||
(2 (4 (7)) (5))
|
||||
(3 (6 (8) (9))) ) )
|
||||
|
||||
(for Order '(preorder inorder postorder level-order)
|
||||
(prin (align -13 (pack Order ":")))
|
||||
(Order *Tree printsp)
|
||||
(prinl) )
|
||||
Loading…
Add table
Add a link
Reference in a new issue