-2

请帮助我使用 Scheme 中的代码,基本上我需要的是如下一个函数(附加),它接受一个原子和一个列表并将元素添加到列表的末尾。

例子:

(append 'A '(B C D)) -> (B C D A)
4

2 回答 2

2

递归方法是:

(define (append atom lst)
  (if (empty? lst) 
      (list atom)
      (cons (car lst) (append atom (cdr lst)))))

用法:

> (append 'A '(B C D))
'(B C D A)

这相当于

> (cons 'B (cons 'C (cons 'D (list 'A))))
'(B C D A)
于 2013-03-11T13:49:09.173 回答
0

您可以像这样将 A 添加到列表的末尾:

(append '(B C D) (list 'A)))

Append需要一个列表参数作为第一个参数。第二个参数不必是一个列表,但它会像(B C D . A)你一样显示出来(append '(B C D) 'A))

我的例子

于 2013-03-11T13:49:20.717 回答