Erlang中queue的兑现方式

Erlang中queue的实现方式?Erlang中queue的实现很有意思,queue中数据的组织方式与我们常见的queue不同,如Er

Erlang中queue的实现方式

?

Erlang中queue的实现很有意思,queue中数据的组织方式与我们常见的queue不同,如Erlang queue的reverse的时间复杂度为O(1),严格的说这种queue实现方式对所有的FP都适用。

?

?

%% Return reversed queue%%%% O(1)-spec reverse(Q1 :: queue()) -> Q2 :: queue().reverse({R,F}) when is_list(R), is_list(F) ->    {F,R};reverse(Q) ->    erlang:error(badarg, [Q]).
?

Have fun!

?

?