rendered paste body(defun groesser(ListA ListB)
(while ( and (equal (car ListA) (car ListB)) (eq ( or (eq (car ListA) nil) (eq (car ListB) nil) ) nil ) ) ;Finde die erste Stelle, an der sich die beiden Listen unterscheiden, oder eine Liste leer ist
(pop ListA)
(pop ListB)
)
(if (eq (car ListA) nil)
nil
(if (listp (car ListA))
(if (listp (car ListB))
(groesser (car ListA) (car ListB))
t
)
(if (listp (car ListB) )
(if ( eq (car ListB) nil)
t
nil
)
(if ( > (car ListA) (car ListB) )
t
nil
)
)
)
)
)
(defun kleiner(ListA ListB)
(while ( and (equal (car ListA) (car ListB)) (eq ( or (eq (car ListA) nil) (eq (car ListB) nil) ) nil ) ) ;Finde die erste Stelle, an der sich die beiden Listen unterscheiden, oder eine Liste leer ist
(pop ListA)
(pop ListB)
)
(if (eq (car ListA) nil)
(if (eq (car ListB) nil)
nil
t
)
(if (listp (car ListA))
(if (listp (car ListB))
(kleiner (car ListA) (car ListB))
nil
)
(if (listp (car ListB) )
(if ( eq (car ListB) nil)
nil
t
)
(if ( < (car ListA) (car ListB) )
t
nil
)
)
)
)
)
(defun gleich(ListA ListB)
(while ( and (equal (car ListA) (car ListB)) (eq ( or (eq (car ListA) nil) (eq (car ListB) nil) ) nil ) ) ;Finde die erste Stelle, an der sich die beiden Listen unterscheiden, oder eine Liste leer ist
(pop ListA)
(pop ListB)
)
(if (eq (car ListA) (car ListB))
t
nil
)
)
(setq List1 '(1 2 3 (3 4 ) 3))
(setq List2 '(1 2 3 ( 3 4) 5))
(message "%S groesser %S ist %S" List1 List2 (groesser List1 List2) )
(message "%S kleiner %S ist %S" List1 List2 (kleiner List1 List2) )
(message "%S gleich %S ist %S" List1 List2 (gleich List1 List2) )