免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1494 | 回复: 2
打印 上一主题 下一主题

[函数] 【queue】FIFO queues [复制链接]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-16 16:02 |只看该作者 |倒序浏览
本帖最后由 shijiang1130 于 2014-12-26 23:24 编辑

Abstract Data Type for FIFO Queues
模块名: queue

2> queue:new().
{[],[]}
3> A=queue:new().
{[],[]}
4> A.
{[],[]}
5> queue:is_queue(A).
true
6> queue:len(A).
0
7> queue:in("aaa",A).
{["aaa"],[]}
8> queue:len(A).     
0
9> queue:in("aaa",A).
{["aaa"],[]}
10> Q2=queue:in("aaa",A).
{["aaa"],[]}
11> queue:len(Q2).      
1
12> queue:get(Q2).
"aaa"
13> queue:get(Q2).

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
2 [报告]
发表于 2015-10-25 19:50 |只看该作者
  1. 17> A=queue:from_list(["www.baidu.com","www.163.com","www.qq.com","www.sina.com.cn"]).
  2. {["www.sina.com.cn"],
  3. ["www.baidu.com","www.163.com","www.qq.com"]}
  4. 18> queue:drop(A).
  5. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}
  6. 19> queue:in("www.aa.com",A).                                                   
  7. {["www.aa.com","www.sina.com.cn"],
  8. ["www.baidu.com","www.163.com","www.qq.com"]}
  9. 20> queue:drop(A).           
  10. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}
  11.   
  12. 21> queue:out(A).
  13. {{value,"www.baidu.com"},
  14. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}}
  15. 22> queue:last(A).
  16. "www.sina.com.cn"
  17. 23> queue:head(A).
  18. "www.baidu.com"
  19. 24> A.                       
  20. {["www.sina.com.cn"],
  21. ["www.baidu.com","www.163.com","www.qq.com"]}
  22. 25> queue:in("www.aa.com",A).
  23. {["www.aa.com","www.sina.com.cn"],
  24. ["www.baidu.com","www.163.com","www.qq.com"]}
  25. 26> queue:out(A).            
  26. {{value,"www.baidu.com"},
  27. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}}
  28. 27> queue:drop(A).           
  29. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}
  30. 28> S=queue:drop(A).
  31. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}
  32. 29> S.      
  33. {["www.sina.com.cn"],["www.163.com","www.qq.com"]}
  34. 30> queue:drop(S).  
  35. {["www.sina.com.cn"],["www.qq.com"]}
  36. 31> S1=queue:drop(S).
  37. {["www.sina.com.cn"],["www.qq.com"]}
  38. 32> queue:drop(S1).  
  39. {[],["www.sina.com.cn"]}
  40. 33>
复制代码

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
3 [报告]
发表于 2015-10-25 21:33 |只看该作者
  1. enqueue(Value, Queue) ->
  2.     Pushed = queue:in(Value, Queue),
  3.     Sum = fun (Q) -> lists:sum(queue:to_list(Q)) end,
  4.     case queue:len(Pushed) of
  5.         Len when Len > 10 ->
  6.             Popped = queue:drop(Pushed),
  7.             {Popped, Sum(Popped)};
  8.         _ ->
  9.             {Pushed, Sum(Pushed)}
  10.     end.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP