Guest User

Untitled

a guest
Aug 15th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.69 KB | None | 0 0
  1. -module(mysort).
  2. -export([myMergeSort/1]).
  3.  
  4. myMergeSort([]) -> [];
  5. myMergeSort(MyList) -> mergeInPairs([ [X] || X <- MyList]).
  6.  
  7. mergeInPairs([H|[]]) -> H;
  8. mergeInPairs([List1, List2 | T]) -> myMerge(mergeInPairs(T), myMerge(List1, List2)).
  9.  
  10. myMerge(MyList, []) -> MyList;
  11. myMerge([], MyList) -> MyList;
  12. myMerge(MyList1, MyList2) -> [H1|T1] = MyList1,
  13.                              [H2|T2] = MyList2,
  14.                              if
  15.                                 H1 < H2 ->
  16.                                         [H1] ++ myMerge(T1, MyList2);
  17.                                 true ->
  18.                                         [H2] ++ myMerge(MyList1, T2)
  19.                              end.
Add Comment
Please, Sign In to add comment