Erlang に慣れるために、独自のバブルソート アルゴリズムを作成しようとしています。現在、モジュールに次のコードがあります。
-module(mysort).
-export([bubblesort/1]).
bubblesort(L) ->
sort_sequence(L, []).
sort_sequence([H1|[H2|T]], Sorted) ->
if H2 >= H1 ->
sort_sequence(T, Sorted ++ [H1, H2]);
H2 < H1 ->
sort_sequence(T, Sorted ++ [H2, H1])
end;
sort_sequence([H|T], Sorted) ->
Sorted ++ H;
sort_sequence([], Sorted) ->
Sorted.
まず第一に、私のコードに提案を与えないでください。私は 自分でそれを理解したいのです ^^
mysort:bubblesort([2,1,3,4,5]).
問題は次のとおりです。出力が期待どおりであると言った場合:[1,2,3,4,5]
しかしmysort:bubblesort([2,1,3,5,4]).
、出力は次のようになります。[1,2,3,5|4].
私の唯一の質問は、この「|」は何をするのかということです リストアイテムの間のサインは意味しますか?!
皆さん、ありがとうございました!