0

2つの異なるリストの違いを返すコードで私を助けることができるのは誰ですか?つまり、BではなくAのセットです。like(set-difference'(1 2 4 5 6)'(4 5 6 2 8)is 1 。これはクラス内のラボ評価であり、それが行われたかどうかを知りたかったのです。線形時間の側面を扱っていることは知っていますが、それをスキームに実装する方法はよくわかりません。

4

1 に答える 1

2

これを試して:

(define (set-difference s1 s2)
  (cond ((null? s1)
         '())
        ((not (member (car s1) s2))
         (cons (car s1) (set-difference (cdr s1) s2)))
        (else
         (set-difference (cdr s1) s2))))
于 2012-07-23T23:08:14.860 に答える