(defun tree-node(x)
(list(* 2 x) (+(* 2 x) 1))
(tree-node 4)
(8 9)
(defun special-queue(y)
(set x (list y (+ 1 y) (+ 2 y)))
(append(list(rest z) (tree-node first z)))
)
以上是我到目前为止的代码。我试图将两个列表一起添加到一个列表中。第一个函数接受一个数字并返回两个数字的列表。第二个功能旨在接收一个列表,将树节点功能应用于该列表中的第一个元素,然后将原始列表和树节点列表都附加在一起。例如:(3,4,5)<-(列表函数接收),(4,5,6,7)<-附加列表,其中6、7是树节点功能列表。一旦将树节点功能应用到第一个元素,便将其删除。
答案 0 :(得分:0)
如果您有一个列表a
和一个列表b
,则可以通过对它们应用append
来附加两个:
(append a b)
请注意,您写的是有效的:
(append (list a b)) ; wrong
要建立本地绑定,请使用let
:
(let ((initial-queue (list n (+ n 1) (+ n 2))))
(append (rest initial-queue) (child-indices (first initial-queue))))