SICP 2.62
楽しいのぅ。
(define (union-set s1 s2) (cond ((null? s1) s2) ((null? s2) s1) ((= (car s1) (car s2)) (cons (car s1) (union-set (cdr s1) (cdr s2)))) ((< (car s1) (car s2)) (cons (car s1) (union-set (cdr s1) s2))) (else (cons (car s2) (union-set s1 (cdr s2)))))) ; test (union-set '(1 2 3 4) '(1 3 5)) (union-set '(1 3 5) '(2 4 6)) (union-set '(1 3 5) '(1 3 5))