Prehadzujeme first a rest, a výsledný zoznam spájame pomocou append, ale tak aby zostal zoznamom.


(defun obrat (sv)
 (cond ((ATOM sv) sv)
       (T (append (obrat (rest sv)) (cons (obrat (first sv)) NIL)))
 )
)

; Príklady:
(obrat '(1))     ; -> (1)
(obrat '(1 2 3)) ; -> (3 2 1)
(obrat '(1 2 (3 (4 5) 6 7))) ; -> ((7 6 (5 4) 3) 2 1)

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