Erlang de Bubble Sort
なんかむかつくから、オレも。
http://d.hatena.ne.jp/t-fridge/20091108/1257692228
http://d.hatena.ne.jp/Ehren/20091110/1257869975
http://d.hatena.ne.jp/tkuro/20091111/1257913849
%% Author: mizutoom %% Created: 2009/11/11 %% Description: TODO: Add description to sort -module(bsort). %% %% Include files %% -include_lib("eunit/include/eunit.hrl"). %% %% Exported Functions %% -export([my_bsort/1]). %% -------------------------------------------------------------------- %% Test Functions %% -------------------------------------------------------------------- my_bsort_test_() -> [ ?_assertEqual(my_bsort([1,3,2]),[1,2,3]), ?_assertEqual(my_bsort([3,2,0,1,5,8,4,2,2,7]),[0,1,2,2,2,3,4,5,7,8]) ]. %% -------------------------------------------------------------------- %% Func: my_bsort/1 %% Returns: bsorted list %% -------------------------------------------------------------------- my_bsort([H]) -> [H]; my_bsort(L) -> [H|T] = L, M = lists:min(T), if H > M -> [M | my_bsort(L -- [M])]; true -> [H | my_bsort(T)] end.
もっといい書き方があるのか、それとも関数型でバブルソートってのがおかしいのか、とにかくこんなんになりました。
ていうか、id:tkuroの選択ソートそのままだしwww