2013-05-09 30 views
0

是否有一些內置謂詞或簡單的方法將列表中的最後一個元素移動到前面?我想出的唯一方法是存儲最後一個元素的謂詞,將其從原始列表中刪除,然後執行append(Last Elem, Original List, New List),這有點麻煩。序言:將列表中的最後一個元素移到前面

回答

3

我不知道是否有任何內置的謂詞,不過這可以通過非常簡單的代碼來實現:

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

我不認爲這會「,在列表中移動最後一個元素前方」。 'moveLast([1,2,3,4],X)。 X = [2,3,4,1]。' – 2013-05-09 03:21:26

+1

@SergeyDymchenko:編輯。我的頭在雲端... – nhahtdh 2013-05-09 03:28:48

相關問題