【发布时间】:2012-06-13 17:29:48
【问题描述】:
为了熟悉 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].
我唯一的问题是:这个“|”是什么意思?列表项之间的符号是什么意思?!
谢谢大家!
【问题讨论】:
标签: list erlang concatenation bubble-sort