Erlang lists:sort 源码方法

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 19:40   72   0

注释写的真好

406 %% sort(List) -> L

407 %% sorts the list L

408

409 -spec sort(List1) -> List2 when

410 List1 :: [T],

411 List2 :: [T],

412 T :: term().

413

414 sort([X, Y | L] = L0) when X =< Y ->

415 case L of

416 [] ->

417 L0;

418 [Z] when Y =< Z ->

419 L0;

420 [Z] when X =< Z ->

421 [X, Z, Y];

422 [Z] ->

423 [Z, X, Y];

424 _ when X == Y ->

425 sort_1(Y, L, [X]);

426 _ ->

427 split_1(X, Y, L, [], [])

428 end;

429 sort([X, Y | L]) ->

430 case L of

431 [] ->

432 [Y, X];

。。。。。。。。。。。。。。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP