Daniel Meng, 1427948, repo-14
Julian Braasch, 1512359, repo-15
Mustafa Yildiz, 1411880, repo-16
a) Elemente tauschen
(defun rotiere (l)
(append (cdr l) (list (car l)))
)
b) Element einfügen
(defun neues-vorletztes (e l)
(append (reverse (cdr (reverse l))) (list e) (list (car (reverse l))))
)
c) Länge einer Liste berechnen
(defun my-length (l)
(do (
(anz 0 (+ anz 1))
(listneu l (cdr listneu)))
((null listneu) anz)
)
)
d) Länge einer geschachtelten Liste berechnen
(defun my-lengthR (l)
(do (
(listneu l (cdr listneu))
(anz 0 (if (atom (car listneu)) (+ anz 1) (+ anz (my-lengthR (car listneu))))))
((null listneu) anz)
)
)
e) Listen umkehren
(defun my-reverse (l)
(cond (
(null l) '())
(T (append (my-reverse (cdr l)) (list (car l))))
)
)
f) Geschachtelte Listen umkehren
(defun my-reverseR (l)
(cond ((null l) nil)
((listp (car l)) (append (my-reverseR (cdr l)) (list (my-reverseR (car l)))))
(T (append (my-reverseR (cdr l)) (list (car l))))
)
)
a) Darstellung eines Binärbaums
Das erste Element ist die Wurzel. Die anderen beiden sind Knoten.
Ein Knoten besteht wiederrum aus sich selbst und ein/mehreren Knoten.
b) Baumtraversierung