我需要prolog中的关系来将列表左移一个元素,这样就可以了
shift([a,b,c,d,e,f,g,h],3,Shifted).
Run Code Online (Sandbox Code Playgroud)
应该产生
Shifted = [d,e,f,g,h,a,b,c]
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?
这就是我所拥有的
shift([], []).
shift([H|T], L) :-
append(T, [H], L).
shift(0, L, L) :- !.
shift(N, L1, L2) :-
N1 is N-1,
shift(L1, L),
shift(N1, L, L2).
Run Code Online (Sandbox Code Playgroud) prolog ×1