Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ALGORITHME
- const max2 = (a, b) => (a > b ? a : b);
- // Version iterative
- const max_iter = function (T) {
- if (!T.length)
- throw "Can't use max() an empty array";
- let m = T[0];
- for (let i = 1; i < T.length; i++)
- m = max2(m, T[1]);
- return m;
- }
- // Version recursive
- const max_rec = function (T) {
- if (!T.length)
- throw "Can't use max() an empty array";
- if (T.length == 1)
- return T[0];
- return max2(T[0], max_rec(T.slice(1, T.length)));
- }
- // TESTS
- console.log(max_rec([2, 5]));
- console.log(max_rec([-2, -5, -10]));
- // Déroulé des appels recurisf de la fonction max_rec() ; max2 = (a, b) => (a > b : a ? b)
- // max_rec([-2, -5, -10])
- // max2(-2, max_rec([-5, -10]))
- // max2(-2, max2(-5, max_rec([-10])))
- // max2(-2, max2(-5, -10))
- // max2(-2, -5)
- // -2
- console.log(max_rec([2.1]));
- console.log(max_rec(["bar", "foo"]));
- console.log(max_rec([]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement