append/3 : concaténation de 2 listes (Prédéfini SWI-Prolog)
member/2 : appartenance à une liste (Prédéfini SWI-Prolog)
last/2 : obtenir le dernier élément d'une liste
naive_reverse/2 : retourner une liste sur elle même.
reverse/2 : retourner une liste (Prédéfini SWI-Prolog)
flatten/2 : "aplatir" une liste(Prédéfini SWI-Prolog)
delete/3 : supprimer toutes les occurrences d'un élément (Prédéfini SWI-Prolog)
select/3 : supprimer une occurrence d'un élément (Prédéfini SWI-Prolog)
permut/2 : donner une permutation des éléments d'une liste
source des programmes
Définition récursive
des listes
Construction de droite à gauche : (i) [] est la liste vide (ATTENTION c'est aussi une constante). (ii) si L est une liste et X un élément alors [X|L] est une liste. Exemple : ?- [a , b , c] = [X | L] X = a , L = [b,c] yes Les représentations suivantes sont strictement équivalentes : [a,b,c] = [a | [b,c]] = [a | [b | [c]]] = [a | [b | [c | []]]] Le symbole "|" permet de distinguer la tête et la queue d'une liste : [X | L] : X la tête, L le reste...(L est une liste) cf.les paires pointées de LISP
|