Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. // ALGORITHME
  2.  
  3. const max2 = (a, b) => (a > b ? a : b);
  4.  
  5. // Version iterative
  6.  
  7. const max_iter = function (T) {
  8. if (!T.length)
  9. throw "Can't use max() an empty array";
  10. let m = T[0];
  11. for (let i = 1; i < T.length; i++)
  12. m = max2(m, T[1]);
  13. return m;
  14. }
  15.  
  16. // Version recursive
  17.  
  18. const max_rec = function (T) {
  19. if (!T.length)
  20. throw "Can't use max() an empty array";
  21. if (T.length == 1)
  22. return T[0];
  23. return max2(T[0], max_rec(T.slice(1, T.length)));
  24. }
  25.  
  26. // TESTS
  27.  
  28. console.log(max_rec([2, 5]));
  29. console.log(max_rec([-2, -5, -10]));
  30. // Déroulé des appels recurisf de la fonction max_rec() ; max2 = (a, b) => (a > b : a ? b)
  31. // max_rec([-2, -5, -10])
  32. // max2(-2, max_rec([-5, -10]))
  33. // max2(-2, max2(-5, max_rec([-10])))
  34. // max2(-2, max2(-5, -10))
  35. // max2(-2, -5)
  36. // -2
  37. console.log(max_rec([2.1]));
  38. console.log(max_rec(["bar", "foo"]));
  39. console.log(max_rec([]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement