Ich habe zwei Elemente und eine Liste. Ich muss das zweite Element vor dem ersten Element jedes Mal, wenn das erste Element erscheint, in der ersten Ebene der gegebenen Liste einfügen.Ein Element1 vor einem Element2 einfügen
rekursive Version:
(defun INSERT-ELEM (E1 E2 L)
(cond ((null L) NIL)
((equal E1 (car L)) (cons E2 (INSERT-ELEM E1 E2 (cdr L))))
((equal E2 (car L)) (cons E1 (INSERT-ELEM E1 E2 (cdr L))))
(t (cons (car L) (INSERT-ELEM E1 E2 (cdr L))))))
Aber etwas ist falsch, es Plätze anstelle des Einsatzes E2 vor E1 ändern. Könnte mir jemand helfen?
Die Linie, die betteln ins mit '((Gleiches E2' macht die entgegengesetzte Einfügung, es setzt'E1' vor' E2'. – Barmar
Was @Barmar? Ich habe es nicht verstanden. –