next up previous
Next: 16.2 集合の包含関係 Up: 16 集合 Previous: 16 集合

16.1 集合の基本演算

集合処理の基本演算としては, 集合に要素が含まれているかどうか, 集合と集合の間の和集合,積集合,差集合などがある.





(defun set-member (e set)
  (cond
    ((null set) nil)
    ((eq e (car set)) t)
    (t (set-member e (cdr set)))))

(defun set+ (a b)
  (cond
      ((null a) b)
    ((set-member (car a) b) (set+ (cdr a) b))
    (t (cons (car a) (set+ (cdr a) b)))))
    
(defun set* (a b)
  (cond
      ((null a) nil)
    ((set-member (car a) b)
     (cons (car a) (set* (cdr a) b)))
    (t (set* (cdr a) b))))

(defun set- (a b)
  (cond
      ((null a) nil)
    ((set-member (car a) b) (set- (cdr a) b))
    (t (cons (car a) (set- (cdr a) b)))))


generated through LaTeX2HTML. M.Inaba 平成18年5月7日