比較しないソートの作成
Posted feedbacks - Erlang
適当に書いていたら、quicksortのように
Pivotとして実際の要素を使えないので、
場合分けで結構バグってしまいました(恥
これもバグってるかも。
>c(sort).
{ok,sort}
> sort:main(-1,10,10, [-1,9,4,8,9,6,3,9,5,2]).
[-1,2,3,4,5,6,8,9,9,9]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -module(sort).
-export([main/4]).
main(Min, Max, _Num, List) ->
sort(Min, Max, List).
sort(_Min, _Max, []) -> [];
sort(_Min, _Max, [H|[]]) -> [H];
sort(Min, Min, List) -> List;
sort(Min, Max, List) ->
Pivot = Min + ((Max - Min) div 2),
sort(Min,Pivot, [ X || X <- List, X < Pivot ])
++
[ X || X <- List, X =:= Pivot ]
++
sort(Pivot+1, Max, [ X || X <- List, X > Pivot ]).
|

sweetie089 #6628() Rating3/3=1.00
[ reply ]