“Conocimientos Programación>Perl Programming

Cómo quitar duplicados de matriz Perl

2014/10/13
Perl y muchos otros lenguajes de programación utilizan arrays para almacenar una lista de datos . Sin embargo , Perl también es compatible con una estructura de datos específica llamada hash. A Perl asocia un determinado valor de hash con una clave . Un ejemplo es el hash { ene = > 31 , Mayo = > 30 } , en el que un mes es una clave y un número de días es un valor . Un hash de Perl hace posible el desarrollo de un algoritmo simple para eliminar duplicados de una matriz. La subrutina correspondiente tiene menos de diez comandos en Perl. Instrucciones
Creación de un subprograma " Remove_duplicates , " un algoritmo
1

obtener datos de la matriz y declarar un hash "entradas ". Otra matriz llamada " new_array " contendrá los datos no duplicados . Los pasos 1-5 se ilustran con el código Perl en la Sección 2 , Paso 3 .
2

Asignar todos los elementos de la matriz como las claves hash y asignar valores hash igual a 1 para todas las teclas .

3

bucle a través de todos los elementos de la matriz y comprobar el valor hash asociado a este elemento .
4

Si el valor hash es 1 ( ver paso 3 ), el elemento es original o no duplicado y debe añadirse a " new_array . " En el mismo tiempo, este elemento está marcado , es decir, los cambios en el valor de hash a 0
5

Si el valor hash es 0 , entonces este elemento ha sido ya encontrado ; . Es decir, se duplica y se omitirá < . br>
Ejemplo y Perl Programa
6

Eliminar duplicados de la matriz con los elementos ( 1 2 6 7 2 9 1 2 6 ) .
7

Imprimir las matrices iniciales y finales ( sin duplicados )
8

# Sección 1 # subrutina comienza

sub remove_duplicates { my ($ array , $ new_array ) = @ _ ; . Paso # 1 . Leer % entradas arraymy iniciales = () ; # Paso 1 . Declarar el hash

foreach (@ $ array ) { a continuación si existe las entradas de $ $ _ { } $ ; entradas { $ _} = 1 , # Paso 2 }

foreach ( $ array @ ) {# Paso 3 . Recorrer toda la gama elementsif ( entradas de $ $ _ { }) { # Paso 5 . El elemento se omite si el valor hash es 0.push @ $ new_array , $ _ ; # Paso 4 . Agregar un elemento a la nueva matriz sólo si el valor hash es $ 1 entradas {$ _} = 0 , # Paso 4 . El elemento está marcado , es decir cambiar el valor hash a 0. } } }


# Subrutina Ends

# Sección 2MY $ array = [ qw ( 1 2 6 7 2 9 1 2 6 ) ] ; # Paso 1 : un ejemplo arraymy $ new_array = [ ] ; # remove_duplicates ( $ array , $ new_array ) ; print " @ $ array \\ n" # Paso 2 . Impresión arrayprint inicial " @ $ new_array \\ n"; # ​​imprimir arrayexit final;

Perl Programming
Cómo contar palabras en una cadena en Perl
Cómo ejecutar Perl el Bloc de notas
Cómo leer desde la mitad de un array en Perl
Cómo buscar un archivo en Perl
Cómo encontrar caracteres chinos utilizando expresiones regulares en Perl
Cómo crear una secuencia de comandos Telnet sencillo en Perl
Cómo quitar líneas en blanco de un archivo en Perl
Cómo probar un script CGI Sendmail
Conocimientos Informáticos © http://www.ordenador.online