perl | función ordenar()

La función sort() en Perl se usa para ordenar una lista con o sin el uso del método de clasificación. Este método puede ser especificado por el usuario en forma de subrutinas o bloques. Si no se especifica una subrutina o un bloque, seguirá el método de clasificación predeterminado.

Sintaxis:
ordenar Lista
ordenar bloque, Lista
ordenar Subrutina, Listar

Devoluciones: lista ordenada según los requisitos del usuario

Ejemplo 1:

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

Original Array: a d h e b
Sorted Array: abdeh

 
Ejemplo 2: Uso de Block para ordenar

#!/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";
Producción:

2 6 11 35 54 87

En el código anterior, el bloque se usa para ordenar porque la función sort() usa caracteres para ordenar las strings, pero en un contexto numérico, no es posible seguir el mismo. Por lo tanto, el bloque se usa para facilitar la clasificación.
 
Ejemplo 3: uso de subrutina para ordenar

#!/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;                       
   }
}
Producción:

2 6 11 35 54 87

Publicación traducida automáticamente

Artículo escrito por Code_Mech y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *