lunes, 21 de enero de 2008

Fusionar Dos Listas en Una en Lenguaje Scheme

Defina una función llamada fusiona que, pasándole dos listas de enteros ordenados, devuelva una sóla lista con todos los enteros ordenados.

(define (fusiona Lista1 Lista2)
(cond
((null? Lista1) Lista2)
((null? Lista2) Lista1)
((>= (car Lista1)(car Lista2)) (cons (car Lista2)(fusiona Lista1 (cdr Lista2))))
((<(car Lista1)(car Lista2)) (cons (car Lista1)(fusiona (cdr Lista1) Lista2)))))