【发布时间】:2011-11-08 04:56:25
【问题描述】:
是否可以在 Prolog 中仅使用两个参数来反转列表?如:
reverse_list(List, Reversed).
这不是家庭作业,我正在七周内阅读七种编程语言,我很好奇。
通过三个参数,您可以使用累加器(很像函数式编程):
reverseList([], Accumulator, Accumulator).
reverseList([Head|Tail], Accumulator, Solution) :-
reverseList(Tail, [Head|Accumulator], Solution).
reverseList(List, Solution) :-
reverseList(List, [], Solution).
澄清:我看到了一个带有附加的解决方案,我想知道你是否可以在没有其他 prolog 函数的情况下做到这一点
【问题讨论】:
-
请不要在标题中添加伪标签。这就是标签的用途。