Retourner au contenu associé (journal : Une autre excuse pour ne pas bosser...)
Posté par TaXules le 19 juin 2011 à 20:56. En réponse au journal Une autre excuse pour ne pas bosser.... Évalué à 4.
Marrant ! :) Voici ma petite solution en Erlang, langage pour lequel ce genre d'algo prend tout son sens.
-module(sleepsort). -export([sort/1]).
result(0) -> []; result(N) -> receive Nb -> [ Nb | result(N-1) ] end.
sort(List) -> result(lists:foldl(fun(X,Acc) -> erlang:send_after(X, self(), X), Acc+1 end, 0, List)).
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Solution en Erlang
Posté par TaXules . En réponse au journal Une autre excuse pour ne pas bosser.... Évalué à 4.
Marrant ! :)
Voici ma petite solution en Erlang, langage pour lequel ce genre d'algo prend tout son sens.
-module(sleepsort).
-export([sort/1]).
result(0) -> [];
result(N) -> receive Nb -> [ Nb | result(N-1) ] end.
sort(List) -> result(lists:foldl(fun(X,Acc) -> erlang:send_after(X, self(), X), Acc+1 end, 0, List)).