考虑以下程序,一个使用差异列表,另一个不是:
reverse1(List1,R) :- rev1(List1, R-[]).
rev1([], A-A).
rev1([H|T], C-A) :-rev1(T, C - [H|A]).
reverse2(List1,R) :- rev2(List1, R, []).
rev2([], A, A).
rev2([H|T], C, A) :- rev2(T, C, [H|A]).
Run Code Online (Sandbox Code Playgroud)
由于两者都做同样的事情,使用差异列表有什么好处?
我是Common Lisp的新手,经历了一个教程,无法解决这个问题
(equal '(reverse (a b)) '(b a)))
Run Code Online (Sandbox Code Playgroud)
返回零.
非常感谢你的帮助.
M.