理系学生日記

おまえはいつまで学生気分なのか

問題2-61 (2.3.3 Example: Representing Sets)

順序リストでadjoin。
じつは悩みまくったんですけど。

(define (adjoin-set x set)
  (cond ((null? set) (list x))
	((< x (car set)) (cons x set))
	((= x (car set)) set)
	(else (cons (car set) (adjoin-set x (cdr set))))))
(adjoin-set 3 '(1 2 4 5)) ; (1 2 3 4 5)