Min/Max

Oh well, apparently there are no min/max BIFs in Erlang. Here’s my version, giving back the smallest/largest integer in a lit:

-module(minmax).
-compile(export_all).

max(X)-> max(X,[]).
min(X)-> min(X,[]).

max([H|T],[]) -> max(T,H);
max([],Acc) -> Acc;
max([H|T],Acc) ->
  case (H>Acc) of
    true -> max(T,H);
    false -> max(T,Acc)
  end.

min([H|T],[]) -> min(T,H);
min([],Acc) -> Acc;
min([H|T],Acc) ->
  case (H<Acc ) of
    true -> min(T,H);
    false -> min(T,Acc)
  end.

Erlang

Leave a Reply

You must be logged in to post a comment.