Programmazione in Scheme
AVVISO! Le informazioni di questo post potrebbero non essere più valide in quanto non aggiornate. Usa i commenti per contribuire a tenere il post aggiornato.
ULTIMA REVISIONE DEL POST: 24/04/2014
Soluzione del problema con Scheme implementata da me:(define shared (lambda (g h) (shared_com g h null ) )) (define shared_com (lambda (u v t) (cond ((=(length u) 0) t) ((=(length v) 0) t) ((= (car u) (car v)) (append t (list(car u)) (shared_com (cdr u) (cdr v) t))) ((> (car u) (car v)) (shared_com u (cdr v) t)) ((< (car u) (car v)) (shared_com (cdr u) v t)) ) )) (shared '(1 3 5 6 7 8 9 10) '(0 1 2 3 4 5 7 9))Soluzione del problema proposta a lezione
(define shared (lambda (u v) (cond ((or (null? u) (null? v)) null) ((< (car u) (car v)) (shared (cdr u) v)) ((> (car u) (car v)) (shared u (cdr v))) (else (cons (car u) (shared (cdr u) (cdr v)))) )))