文章列表
用erlang编写nif的lists:keyfind/3
%%lists:keyfind/3
keyfinds(_Key,_N,[])->
false;
keyfinds(Key,N,[H|T])->
case Key=:=element(N,H) of
true ->
H;
false ->
keyfinds(Key,N,T)
end.
今天无聊写了一个列表拼接两种方式的对比,主要是对比一下用“++”和“|”拼接列表的速度,书上说,“++”拼接列表是极为低效的操作。这里我用代码实现了一下,分别用两种方法生成N个零的列表:
%%列表拼接对比
listsTimeCon(N)->
{TimeOne,_} = timer:tc(test,listsCon1,[N]),
{TimeTwo,_} = timer:tc(test,listsCon2,[N]),
case TimeOne > TimeTwo of
true ->
io:format("'++',~p~n",[ ...