【发布时间】:2016-10-20 17:10:47
【问题描述】:
我正在尝试编写一个 Scheme 函数,该函数将返回在输入列表中找到的唯一元素。这个函数应该适用于原子、对和列表。我的意思是如果输入列表看起来像 '(1 1 2 (2 . 2) (2 . 2) (4 3) (4 3) 3 5 2 4) 函数应该返回 (5)。
这是我当前的代码:
(define (delduplicates L)
(cond ((null? L) '())
((list? (member (car L) (cdr L)))
(delduplicates(cdr L)))
(#T (cons (car L) (delduplicates (cdr L))))))
(delduplicates '(1 1 2 3 3 4 4 5)) > (1 2 3 4 5)
这样做的问题是它只删除重复项。
【问题讨论】:
-
到目前为止您尝试过什么?你能问一个关于这个的具体问题吗?现在,您似乎希望我们为您写这篇文章,而我们在这里没有这样做。请阅读以下内容:meta.programmers.stackexchange.com/questions/6166/…