August 23, 2024
P17 - Split a list into two parts.
The length of the first part is given.
Example:
> p17:split(3, [1,2,3,4,5,6,7]).
[[1,2,3],[4,5,6,7]]
erlang
%Split a list into two parts.
-module(p17).
-export([split/2]).
split(N, Ls) ->
splitI(N, [], Ls).
splitI(0, First, Last) ->
[First, Last];
splitI(N, First, [H | T]) ->
splitI(N - 1, First ++ [H], T).