Možným riešením je, prechádzať s-vyraz a jeho jednotlivé časti (first a rest) spájať do jedného zoznamu pomocou append.


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

; Príklady:
(zrusz '(1 2))           ; -> (1 2)
(zrusz '(1 (2 ((3)) 4))) ; -> (1 2 3 4)

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