Voici la fonction Aplatir qui transforme les sous-listes en liste :
Elle fonction a merveille du moment que la sous-liste n'est pas circulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (defun aplatir (liste) (cond ((null lst) lst) ((listp (car lst)) (append (aplatir (car lst)) (aplatir (cdr lst)))) ((consp (car lst)) (append (aplatir (car lst)) (aplatir (cdr lst)))) (T (cons (car lst) (aplatir (cdr lst))))))
Quelqu'un pourrait m'aider a corriger cette erreur ? Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (aplatir '(a (b (c) (d)) (e f) (g (h)) nil)) (a b c d e f g h) (aplatir '(a b (d . c))) *** - car: c is not a list![]()
Partager