我正在完成作业,我需要合并两个列表,但我们只允许使用以下功能:
cons(e,L)
first(L)
rest(L)
我一直试图弄清楚如何递归使用这些功能几个小时,但不知道。我们应该使用与此相似的符号:
find(L, k) is
NULL if L = NULL
or first(L) if first(L) = k
or find(rest(L), k)
有什么建议吗?谢谢!!
答案 0 :(得分:1)
如果组合意味着附加两个列表,则尝试遵循伪代码:
append(a,b) =
if nil(a) then b
else cons(first(a),append(rest(a),b))