列出方案的差异。

时间:2012-07-23 22:41:51

标签: scheme linear

谁可以帮助我使用代码返回两个不同列表中的差异,即A中的集合而不是B中的集合。(set-difference'(1 2 4 5 6)'(4 5 6 2 8这是一个课堂实验室评估,我想知道它会完成。我知道它涉及线性时间方面,但我真的不知道如何在方案中实现它。 / p>

1 个答案:

答案 0 :(得分: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))))