Existuje viacero riešení. Jedným z nich, je prechádzať zoznam rekurzívne a výsledný zoznam vytvárať až keď sa bude z rekurzie vychádzať, teda až po rekurzívnom kroku.


(defun obraz (zoz)
 (cond ((null zoz) NIL)
       (T (append (cons (first zoz) (obraz (rest zoz))) (cons (first zoz) NIL)))
 )
)

; Príklady:
(obraz '(A B C)) ; -> (A B C C B A)
(obraz '(1 (2))) ; -> (1 (2) (2) 1)

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