| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Perl Programming >> Content
    Come rimuovere i duplicati da array Perl
    Perl e molti altri linguaggi di programmazione utilizzano gli array per memorizzare un elenco di dati . Tuttavia, Perl supporta anche una struttura di dati specifico chiamato un hash . A Perl associa un particolare valore hash con una chiave . Un esempio è l' hash { gen = > 31 , aprile = > 30 } , in cui un mese è una chiave e un numero di giorni è un valore . Un hash Perl rende possibile lo sviluppo di un semplice algoritmo per rimuovere i duplicati da un array . La corrispondente subroutine ha meno di dieci comandi in Perl .
    Istruzioni Creazione di un sottoprogramma " Remove_duplicates ; " di un algoritmo di
    1

    ottenere dati di array e di dichiarare un hash " voci ". Un altro array chiamato " new_array " conterrà i dati non duplicati . Punti da 1 a 5 sono illustrati con il codice Perl dato nella sezione 2 , punto 3.
    2

    Assegnare tutti gli elementi dell'array come chiavi hash e assegnare valori di hash uguale a 1 per tutti i tasti .

    3

    ciclo su tutti gli elementi dell'array e verificare il valore hash associato a questo elemento .
    4

    Se il valore hash è 1 (vedi punto 3 ), allora la elemento è originale o non duplicati e dovrebbe essere aggiunto alla " new_array . " Nello stesso tempo, questo elemento è segnato , cioè il valore di hash passa a 0
    5

    Se il valore hash è 0 , allora questo elemento è stato già incontrato , . Cioè è duplicato e saltato < . br>
    Esempio e Perl Programma
    6

    rimuovere i duplicati dalla matrice con elementi ( 1 2 6 7 9 2 1 2 6) .
    7 < p > Stampa array iniziale e finale ( senza duplicati ) economici 8

    # Sezione 1 # Subroutine Begins

    sub remove_duplicates {my ( $ array , $ new_array ) = @ _; . # Passo 1 . Leggi le voci % arraymy iniziali = () ; # Step 1 . Dichiarare l'hash

    foreach ( @ $ array ) { next if exists $ voci { $ _ } ; $ voci { $ _ } = 1; # Step 2 }

    foreach ( $ array @ ) { # Passo 3 . Il ciclo di tutti matrice elementsif ( $ voci { $ _ } ) { # Punto 5 . L'elemento viene saltato se il valore hash è 0.push @ $ new_array , $ _ ; # Fase 4 . Aggiungere un elemento al nuovo array solo se il valore hash è di $ 1 voci { $ _ } = 0; # Fase 4 . L'elemento è contrassegnato cioè modificare il valore hash a 0 . }

    }}

    # Subroutine Ends

    # Sezione 2MY $ array = [ qw ( 1 2 6 7 2 9 1 2 6) ] ; # Step1 : un esempio arraymy $ new_array = []; # remove_duplicates ( $ array , $ new_array ) ; print " @ $ array \\ n"; # ​​Passo 2 . Stampa arrayprint iniziale " @ $ new_array \\ n"; # ​​stampa arrayexit finale ;

    Previous :

    next :
      Articoli Correlati
    ·Perl : Come utilizzare una variabile in una funzione Sp…
    ·Come estrarre le voci da più - Fasta Perl Files 
    ·Estensioni dei file Perl 
    ·Come analizzare un valore in Perl 
    ·Come trovare la lunghezza di un array in Perl 
    ·Tipi di MANET protocolli 
    ·Come reinstallare un modulo CPAN 
    ·Come trovare la media utilizzando Perl 
    ·Come calcolare la differenza tra due file con PerlScrip…
    ·Come eliminare i file HTML nella directory in Perl 
      Articoli in evidenza
    ·Sintassi di una funzione 
    ·Come verificare se un file è stato modificato su PHP 
    ·Java Stream Input da un progetto 
    ·Come utilizzare la barra di avanzamento in VB 
    ·Come attivare la modalità ARCHIVELOG per il database O…
    ·Come impostare sessioni di timeout in iFrame 
    ·Semplici Progetti di Visual Basic 
    ·Come rimuovere un decimale Python 
    ·Come utilizzare Visual Basic 
    ·Come creare XLS con JavaScript 
    Copyright © Conoscenza Informatica http://it.wingwit.com