lunes, 21 de enero de 2008

Elimina elementos repetidos de una lista en Lenguaje Scheme

Escriba una función repetidos que recibe como único argumento una lista y retorna otra lista a la que se ha eliminado los elementos repetidos de la lista de entrada (dejando únicamente la última aparición). Puede utilizar para ello la función miembro? (en otro post)


(define (repetidos Lista1)
(cond
((null? Lista1) Lista1)
((miembro? (car Lista1) (cdr Lista1)) (repetidos (cdr Lista1)))
(else (concatena (list (car Lista1)) (repetidos (cdr Lista1))))))