Код Ревью
Сравни свои решения
#| BEGIN (Введите свое решение) |#
(define (tree->list tree)
(if (null? tree)
'()
(append (tree->list (left-branch tree))
(list (entry tree))
(tree->list (right-branch tree)))))
(define (union-list l1 l2)
(cond ((null? l1) l2)
((null? l2) l1)
((= (car l1) (car l2))
(cons (car l1) (union-list (cdr l1) (cdr l2))))
((< (car l1) (car l2))
(cons (car l1) (union-list (cdr l1) l2)))
(else
(cons (car l2) (union-list l1 (cdr l2))))))
(define (intersection-list l1 l2)
(cond ((or (null? l1) (null? l2)) '())
((= (car l1) (car l2))
(cons (car l1) (intersection-list (cdr l1) (cdr l2))))
((< (car l1) (car l2))
(intersection-list (cdr l1) l2))
(else
(intersection-list l1 (cdr l2)))))
(define (union-set t1 t2)
(list->tree (union-list (tree->list t1) (tree->list t2))))
(define (intersection-set t1 t2)
(list->tree (intersection-list (tree->list t1) (tree->list t2))))
#| END |#