gpt4 book ai didi

arrays - Perl中如何对数字进行排序

转载 作者:行者123 更新时间:2023-12-03 10:44:57 25 4
gpt4 key购买 nike

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;
sort function 接受自定义比较函数作为其第一个参数,以代码块的形式。 {...}部分就是这个代码块(见 http://perldoc.perl.org/functions/sort.html )。
sort每当需要比较要排序的数组中的两个元素时,都会调用此自定义比较函数。 sort总是将两个值作为 $a 进行比较, $b ,并且比较函数必须返回比较的结果。在这种情况下,它只是使用运算符进行数字比较(参见 http://perldoc.perl.org/perlop.html#Equality-Operators ),这可能是为此目的而创建的:-)。

无耻地从“ Perl Cookbook”窃取的解决方案,第04章第15章(买书-值得!)

关于arrays - Perl中如何对数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3574336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com