Siguiente mayor

Definir la función

tal que (siguienteMayos xs) es la lista obtenida sustiyendo cada elemento de xs por el primer elemento de xs a la derechha de x que sea mayor que x, si existe y Nothing en caso contrario. Por ejemplo,

Soluciones

Pensamiento

Si vivir es bueno
es mejor soñar,
y mejor que todo,
madre, despertar.

Antonio Machado

8 Comentarios

  1. Solución en Maxima:
    siguienteMayor (xs):= if emptyp (xs) then [] else g(xs)$
    g(xs):=if emptyp (f(xs)) then
    (cons(Nothing, siguienteMayor (rest(xs))))
    else (cons (first(f(xs)),siguienteMayor (rest (xs)))) $
    f(xs) := delete (Nada,create_list(p(x,first(xs)),x,xs))$
    p(x,y):=if x>y then x else Nada$

Escribe tu solución