加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

用Perl统计一组数字中最大的N个

发布时间:2020-12-16 00:19:36 所属栏目:大数据 来源:网络整理
导读:简单的一个小脚本,用Perl来统计一堆输入数字中最大的N个,N可任意指定。这是本人学习Perl道路上练习用的小程序,各位大神不要鄙视 。 ? my?$k?=?$ARGV[1];? ? my?$input?=?$ARGV[0];? open ?INPUT,$input;? ? while(INPUT){? ????my?$line?=?$_;? ????my?@f

简单的一个小脚本,用Perl来统计一堆输入数字中最大的N个,N可任意指定。这是本人学习Perl道路上练习用的小程序,各位大神不要鄙视

?

 
 
  1. my?$k?=?$ARGV[1];?
  2. ?
  3. my?$input?=?$ARGV[0];?
  4. open?INPUT,$input;?
  5. ?
  6. while(<INPUT>){?
  7. ????my?$line?=?$_;?
  8. ????my?@fields?=?split?/,/,$line;?
  9. ????foreach(@fields){?
  10. ????????my?$claim?=?$_;?
  11. ????????if($claim?=~?/d/){?
  12. ????????????if(@topK?<?$k){?
  13. ????????????????push?@topK,$claim;?
  14. ????????????}?else?{?
  15. ????????????????@topK?=?sort?{$a<=>$b}?@topK;?
  16. ????????????????my?$first?=?shift?@topK;?
  17. ????????????????if($claim?>?$first){?
  18. ????????????????????unshift?@topK,$claim;?
  19. ????????????????}?else?{?
  20. ????????????????????unshift?@topK,$first;?
  21. ????????????????}?
  22. ????????????}?
  23. ????????}?
  24. ????}?
  25. }?
  26. close?INPUT;?
  27. print?"@topK";?

输入数据文件格式为

?

 
 
  1. 2,32,3,45,6,58?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读