计划指南

时间:2013-03-11 13:36:26

标签: scheme

请基本上帮我提供Scheme中的代码,如下所示 一个函数(append),它接受一个原子和一个列表,并将该元素添加到列表的末尾。

示例:

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

2 个答案:

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

答案 1 :(得分:0)

您可以将A添加到列表的末尾,如下所示:

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

Append需要list参数作为第一个参数。第二个参数不必是列表,但如果您执行(B C D . A)

,它将显示为(append '(B C D) 'A))

My Example