CAML fonction qui realise la différence symétrique entre deux listes

(Cliquez-ici pour accéder à la version originale de cette discussion avec couleurs et images)







Posted by: rmp

bonjours, je dois faire un programme en CAML qui a partir d'une fonction realise la différence symétrique entre 2 listes, le nombre d'opération ne dépassant pas O(m+p) où m et p st les cardinaux des 2 listes, j'ai essayer ca mais ca marche pas qq pourrait-il m'aider merci d'avance.....

let rec delta l1 l2 = match l1 l2 with
|[] []->[]
|t::q m::p if t<m then t::delta(q,m::p) else
if t=m then delta(q,p) else
m::delta(t::q,p)
;;



Posted by: gol_di_grosso

peux tu m'expliquer ce que tu appelle différence symétrique



Posted by: rmp

la diff sym : a et b 2 ensembles , on prend leur reunion et on retire leur intersection



Posted by: gol_di_grosso

ok et tes listes sont rangée dans l'ordre ?



Posted by: Patastronch

Ca marche pas ca veut dire quoi ?

Sinon ton cas d'arret est douteux jaurais remplacé [] []->[] par
|[] a->a
|b []->b











-