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