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
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody