-2

基本的に私が必要とするのは以下のようなスキームのコードで私を助けてください。アトムとリストを取り、リストの最後に要素を追加する関数(追加)。

例:

(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 on を追加できます。

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

Appendには、最初の引数としてリスト引数が必要です。2 番目の引数はリストである必要はありませんが、そうである(B C D . A)かのように表示されます。(append '(B C D) 'A))

私の例

于 2013-03-11T13:49:20.717 に答える