sicp每日一題[2.59]

再思即可發表於2024-10-27

Exercise 2.59

Implement the union-set operation for the unordered-list representation of sets.


這道題很簡單,仿照 intersection-set 稍作修改就可以實現了

(define (union-set set1 set2)
  (cond ((null? set1) set2)
        ((element-of-set? (car set1) set2)
         (union-set (cdr set1) set2))
        (else (cons (car set1) (union-set (cdr set1) set2)))))


(define set1 (list 1 3 5 'a 'b 'c))
(define set2 (list 2 4 6 'a 'd 'c))

(union-set set1 set2)

; 執行結果 
'(1 3 5 b 2 4 6 a d c)

相關文章