erlang基礎練習 排序

2021-06-09 06:25:50 字數 1294 閱讀 3763

-module(sort).

-export([bubble/1,select1/1,select2/1]).

%氣泡排序法

%第一種

bubble(l) -> bubble_sort(l,length(l)-1).

bubble_sort(l,0) -> l;

bubble_sort([h|t],num) ->

result = bubble_once(h,t),

io:format("~p~n",[result]),

bubble_sort(result,num-1).

bubble_once(h,) -> [h];

bubble_once(min,[h|t]) ->

if min =< h ->

[h|bubble_once(min,t)];

min > h ->

[min|bubble_once(h,t)]

end.

%選擇排序

%第一種

select1() -> ;

select1([element]) -> [element];

select1(l) -> select_sort(l,).

select_sort(,r) -> r;

select_sort([h|t],r) ->

= select_min(h,t,),

io:format("~p~n",[rs]),

select_sort(rs,[min|r]).

select_min(min,,r) -> ;

select_min(min,[h|t],r) ->

case min =< h of

true -> select_min(min,t,[h|r]);

false ->select_min(h,t,[min|r])

end.

%第二種

select2() -> ;

select2([h|t]) ->

max = select_max(h,t),

new = [h|t] -- [max],

io:format("~p~n",[new]),

[max|select2(new)].

select_max(h,) -> h;

select_max(max,[h|t]) when max >h ->select_max(max,t);

select_max(max,[h|t]) when max =< h ->select_max(h,t).

erlang初學小練習

module delive compile export all sum x,y if x 9,y 9 io format w w w n x,y,x y x y io format w w w x,y,x y sum x,y 1 x y io format w w w n x,y,x y sum ...

Erlang實戰練習(六)

本文主要講為文字建立索引,通過使用程序字典的方式為文字建立索引,儘管專家提倡盡量避免使用程序字典,但是在初學階段很容易地就使用了程序字典,當然,除了程序字典方式外,還有其它方式,後面章節我將會使用另外一種方式來儲存單詞 行數 出現次數,也即erlang提供的模組 ets erlang term st...

Erlang實戰練習(四)

通過前幾次的練習實踐相信大家對erlang程式設計有了基本的認識和了解,本文通過二分搜尋 echo server 程序環三個實戰練習認識erlang中程序的通訊的基礎,通過本次實戰,主要是感受erlang建立程序 傳送訊息 接受訊息的過程,我們知道,erlang並不是共享記憶體的通訊,erlang中...