Rekurzívne prechádzame prvky tabuľky, kým nenarazíme na koniec (už bude prázdna), alebo nenájdeme požadovaný prvok.


; Pri zápise bodka-dvojice musí byť z každej strany bodky medzera.

; Ak nenájde výsledok vráti NIL.
; Pre porovnanie je najvšeobecnejšie equal.
; Ak však prvky v tabuľke (ai.bi)
; budú atómy stačí eq, ak čísla stačí =.

(defun MYASSOC (x tab)
 (cond ((null tab) NIL)
       ((equal (first (first tab)) x) (rest (first tab)))
       (T (MYASSOC x (rest tab)))
 )
)

; Príklad:
(MYASSOC 'a '((w . 1)(e . 2)(a . 7)(a . 9))) -> 7

 


Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next