|
Príklad - vkladanie uzlov do binárneho stromu Reprezentácia
Selektory (DEFUN ROOT (S) (SECOND S)) (DEFUN LEFT (S) (FIRST S)) (DEFUN RIGHT (S) (THIRD S)) Napriek tomu, že ide iba o premenovanie existujúcich funkcií, je vhodné konštruktory zadefinovať. Môže to mať vplyv na čitateľnosť programu. Konštruktor
(DEFUN CREATE-TREE (ROOT LEFT RIGHT)
(LIST LEFT ROOT RIGHT))
Vloženie uzla do stromu Strom je usporiadaný, t.j. všetky uzly v ľavom podstrome sú menšie ako koreň a všetky uzly v pravom podstrome sú väčšie ako koreň.
(DEFUN INSERT-TREE (ELE TREE REL)
(COND ((NULL TREE) (CREATE-TREE NIL ELE NIL))
((FUNCALL REL ELE (ROOT TREE))
(CREATE-TREE (INSERT-TREE ELE (LEFT TREE) REL)
(ROOT TREE)
(RIGHT TREE)))
( T (CREATE-TREE (LEFT TREE)
(ROOT TREE)
(INSERT-TREE ELE (RIGHT TREE) REL)))
))
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||