📜  珀尔 |排序()函数

📅  最后修改于: 2022-05-13 01:54:53.260000             🧑  作者: Mango

珀尔 |排序()函数

Perl 中的 sort()函数用于使用或不使用排序方法对列表进行排序。该方法可由用户以子程序或块的形式指定。如果未指定子程序或块,则它将遵循默认的排序方法。

示例 1:

#!/usr/bin/perl
  
@array1 = ("a", "d", "h", "e", "b");
  
print "Original Array: @array1\n";
print ("Sorted Array: ", sort(@array1));
输出:
Original Array: a d h e b
Sorted Array: abdeh


示例 2:使用 Block 进行排序

#!/usr/bin/perl -w
use warnings;
use strict;
  
# Use of Block to sort 
my @numeric = sort { $a <=> $b } (2, 11, 54, 6, 35, 87);
  
print "@numeric\n";
输出:
2 6 11 35 54 87

在上面的代码中,block 用于排序,因为 sort()函数使用字符对字符串进行排序,但在数字上下文中,不可能遵循相同的。因此,块用于简化排序。示例 3:使用子程序进行排序

#!/usr/bin/perl -w
use warnings;
use strict;
  
# Calling subroutine to sort numerical array
my @numerical = sort compare_sort (2, 11, 54, 6, 35, 87);
print "@numerical\n";
   
# function to compare two numbers
sub compare_sort
{
   if($a < $b)
   {
      return -1;
   }
   elsif($a == $b)
   {
      return 0;
   }
   else
   {
      return 1;                       
   }
}
输出:
2 6 11 35 54 87