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

数组 – 如何排序Perl中的数字?

发布时间:2020-12-15 21:14:25 所属栏目:大数据 来源:网络整理
导读:print "@_n";4109 4121 6823 12967 12971 14003 20186 如何在Perl中进行排序? 使用@sorted = sort(@_);给我一个字母顺序 13041 13045 14003 20186 4109 4121 6823 如何获得数字订购? Perl是否具有内置的合并排序,插入排序等功能? 解决方法 您可以将自定
print "@_n";
4109 4121 6823 12967 12971 14003 20186

如何在Perl中进行排序?

使用@sorted = sort(@_);给我一个字母顺序

13041 13045 14003 20186 4109 4121 6823

如何获得数字订购? Perl是否具有内置的合并排序,插入排序等功能?

解决方法

您可以将自定义比较函数传递给Perl的排序例程.只需使用:
@sorted = sort { $a <=> $b } @unsorted;

排序函数以代码块的形式接受自定义比较函数作为其第一个参数. {…}部分只是这个代码块(见http://perldoc.perl.org/functions/sort.html).

只要需要比较要排序的数组中的两个元素,sort将会调用此自定义比较函数. sort总是通过两个值来比较为$a,$b,比较函数必须返回比较结果.在这种情况下,它只是使用运算符进行数值比较(参见http://perldoc.perl.org/perlop.html#Equality-Operators),这可能是为了这个目的而创建的:-).

“Perl Cookbook”,第04章第15章(购买这本书 – 这是值得的)无耻的解决方案!

(编辑:李大同)

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

    推荐文章
      热点阅读