erlang 算法

1、消重算法:

  1. 1> List = [1,2,3,1,2,4].   
  2. [1,2,3,1,2,4]   
  3. 2> sets:to_list(sets:from_list(List)).   
  4. [3,2,1,4]   

2、排序算法:

  1. 3>lists:sort(List).  
  2. [1,1,2,2,3,4]   

根据某一元素排序
  1. 4>rd(app{id,date,pkg_name,appname,version,user_num,new_user_num,used_num,los,sum_user}).  
  2. app  
  3. 5> Sort = fun (A,B)->A#app.date =< B#app.date end.                              
  4. #Fun<erl_eval.12.113037538>  
  5. 6> lists:sort(Sort,D).%按记录中的date字段进行排列  
  6. [#app{                          
  7.      id = {app_id,{2010,7,1},<<"Packagename">>},  
  8.      date = {2010,7,1},  
  9.      pkg_name = <<"Packagename">>,appname = <<"Appname">>,  
  10.      version = <<"Version">>,user_num =1,new_user_num =1,   
  11.      used_num =1,los = 7223,sum_user = 2}... ...  

3、排序+消重算法:

 

  1. 7> ordsets:from_list(List).  
  2. [1,2,3,4]   


 

4、

 

  1. foldl(Fun(Elem, AccIn), Acc0, List) -> Acc1  %%AccIn初使为Acc0, Elem是List中的值,把List中的所有值都执行函数一次得到列表  
  2.   lists:foldl(fun(Key, Acc) ->[proplists:get_value(Key, Options) | Acc]  end,  [], lists:reverse([pool_id, hostname, port, username,password,database, logfun, encoding, poolsize]))  
  3. 注:这儿的Options="[{hostname,"localhost"}, {username, "root"}, {password,"sa"}, {database, "test"}]"  
  4. 结果为[undefine,"localhost", undefine,"root","sa","test", undefine, undefine, undefine]   


0
0
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值