Prolog:将列表中的最后一个元素移到前面

时间:2013-05-09 02:22:28

标签: prolog

是否有一些内置的谓词或简单方法将列表中的最后一个元素移到前面?我提出的唯一方法是存储最后一个元素的谓词,将其从原始列表中删除,然后执行append(Last Elem, Original List, New List),这有点麻烦。

1 个答案:

答案 0 :(得分:3)

我不知道是否有任何内置谓词,但这可以用非常简单的代码实现:

moveLast([], []).
moveLast(L, [H|T]) :- append(T, [H], L).