lunes, 21 de enero de 2008

Invierte Lista en lenguaje Scheme

Utilizando la función concatena (esta en otro post), defina una función invierte que dada una lista devuelva dicha lista con sus elementos en orden inverso.


(define (invierte Lista1)
(cond
((null? Lista1) '())
((list? Lista1) (concatena (invierte(cdr Lista1))(list(car Lista1))))
(else (display '(Debe pasar una lista como parametro)))))

2 comentarios:

Anónimo dijo...

Hola amigo, tu funcion funciona pero solo cuando es una lista simple, si tienes una lista compuesta de multiples lista no funcione. Ejemplo:' (a (b c) d)) tu codigo lo convierte a '(d (b c) a)) y deberia ser (d (c d) a))

Sergio Romero Sanchez dijo...

Gracias por el aporte