lisee26 a écrit :
lol j'avais oublié append ... la c'est pareil on se retrouve avec un duplicat dans le résultat ?
|
Oui, mais l'ordre est différent (au lieu d'avoir a1, b1, a2, b2, a3, b3, ... append renvoie a1, a2, a3, ..., b1, b2, b3, b4, ...)
Pour chaque élément de b,
s'il est dans a, ne rien faire
s'il n'est pas dans a, le conser à a
En récursif, ça donne:
union entre a et b
si b est vide, renvoyer a
si car b est dans a, renvoyer l'union de a et cdr b
sinon renvoyer l'union du cons de car b et a et de cdr b
et ça a l'avantage d'être tail-rec
Message édité par Masklinn le 16-05-2009 à 15:54:33
---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology