为了熟悉Erlang,我正在尝试编写自己的Bubblesort算法.现在,我的模块中有以下代码:
-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.
Run Code Online (Sandbox Code Playgroud)
首先:请不要给我建议我的代码 我想弄清楚自己^^
问题是:如果我说mysort:bubblesort([2,1,3,4,5]).
输出是我所期望的:[1,2,3,4,5]
但如果我说mysort:bubblesort([2,1,3,5,4]).
输出是:[1,2,3,5|4].
我唯一的问题是:这是什么"|" 标志在listitems之间意味着什么?!
谢谢你们!
在Python中,我可以通过覆盖来使任何类支持索引__getitem__:
class Test:
def __getitem__(self, key):
return self.data[key]
Run Code Online (Sandbox Code Playgroud)
Dart是否有类似的构造?
我正在尝试将类从java转换为kotlin,它使用大量原始类型并访问对象类.
我怎样才能让它工作:
val item: Any = items[position]
item::class.java // compiler complains about "Unresolved reference: item"
Run Code Online (Sandbox Code Playgroud)