Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ls = [3, 5, 1, 7, 6, 9, - 9, 6, 81]
- & K = 6
- & split (Ls, K, nil, nil, Ls1, Ls2)
- ;
- split ([], _, Ls1Acc, Ls2Acc, Res1, Res2) :-
- !
- & rev (Ls1Acc, [], Res1)
- & rev (Ls2Acc, [], Res2)
- ;
- split ([Head | Tail], K, Ls1Acc, Ls2Acc, Ls1, Ls2) :-
- Head < K
- & !
- & Ls1AccNew = [Head | Ls1Acc]
- & split (Tail, K, Ls1AccNew, Ls2Acc, Ls1, Ls2)
- ;
- split ([Head | Tail], K, Ls1Acc, Ls2Acc, Ls1, Ls2) :-
- Head > K
- & !
- & Ls2AccNew = [Head | Ls2Acc]
- & split (Tail, K, Ls1Acc, Ls2AccNew, Ls1, Ls2)
- ;
- split ([_ | Tail], K, Ls1Acc, Ls2Acc, Ls1, Ls2) :-
- split (Tail, K, Ls1Acc, Ls2Acc, Ls1, Ls2)
- ;
- rev ([], Acc, Acc) :-
- !
- ;
- rev ([Head | Tail], Acc, Res) :-
- AccNew = [Head | Acc]
- & rev (Tail, AccNew, Res)
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement