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