Guest User

Untitled

a guest
May 25th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. let rec dbllist_add dbllist element =
  2. match dbllist with
  3. | Vide -> Gauche (element, Vide)
  4. | Gauche (u,v) ->
  5. if u < element then
  6. (match v with
  7. | Vide -> Gauche (u, dbllist_add v element)
  8. | Gauche (x, y) ->
  9. if x < element then
  10. Gauche (u, dbllist_add v element)
  11. else
  12. Gauche (u, Gauche (element, v))
  13. | Droite (x, y) ->
  14. if y < element then
  15. Gauche (u, Droite (v, element))
  16. else
  17. Gauche (u, Droite (dbllist_add x element, y))
  18. )
  19. else
  20. Gauche (element, Gauche (u, v))
  21. | Droite (u,v) ->
  22. if v < element then
  23. Droite (Droite (u, v), element)
  24. else
  25. (match u with
  26. (* Warning pour le cas Vide car le constructeur Vide est toujours a droite, cad Gauche (x, Vide) *)
  27. | Gauche (x, y) ->
  28. if x < element then
  29. Droite (dbllist_add u element, v)
  30. else
  31. Droite (Gauche (element, u), v)
  32. | Droite (x, y) ->
  33. if y > element then
  34. Droite (dbllist_add u element, v)
  35. else
  36. Droite (Droite (u, element), v)
  37. )
  38. ;;
Add Comment
Please, Sign In to add comment