| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Perl programmering >> Content
    Sådan fjernes dubletter fra Array Perl
    Perl og mange andre programmeringssprog bruger arrays til at gemme en liste over data. Men Perl understøtter også en specifik datastruktur kaldet en hash . En Perl hash knytter en bestemt værdi med en nøgle. Et eksempel er hash { Jan = > 31 April = > 30 } , hvor en måned er en nøgle og et antal dage er en værdi . En Perl hash gør det muligt at udvikle en enkel algoritme til at fjerne dubletter fra et array. Den tilsvarende subrutine har mindre end ti kommandoer i Perl. Instruktioner
    Oprettelse en subrutine " Remove_duplicates ," en algoritme
    1

    Anskaf array- data, og erklære en hash " poster ". En anden matrix kaldet " new_array " vil indeholde ikke- duplikerede data. Trin 1 til 5 er illustreret med Perl-kode er angivet i afsnit 2 , trin 3 .
    2

    Tildel alle array- elementer som hash nøgler og tildele hash værdier lig med 1 for alle nøgler.

    3

    Loop gennem alle elementer i array og kontrollere hashværdi knyttet til dette element.
    4 p Hvis den hash-værdi er 1 ( se trin 3 ), så element er originalt eller ej duplikeret og bør føjes til " new_array ". På samme tid, dette element er markeret , dvs hash-værdi ændres til 0
    5 p Hvis den hash-værdi er 0, så dette element allerede er stødt på , dvs. Det er duplikeret og sprunget < . br >
    eksempel og Perl Program
    6

    Fjern dubletter fra array med elementer (1 2 6 7 2 9 1 2 6) .
    7 < p > Print indledende og afsluttende arrays (uden dubletter )
    8

    # afsnit 1 # Subroutine Begins

    sub remove_duplicates { my ( $ array, $ new_array ) = @ _ ; . # Step 1. . Læs indledende arraymy % indgange = (); # Trin 1 . Erklær hash

    foreach ( @ $ array) { næste , hvis der findes $ indgange { $ _ }; $ poster { $ _ } = 1; # Trin 2 }

    foreach ( @ $ matrix ) { # Trin 3 . Loop gennem alle matrix elementsif ( $ indgange { $ _ } ) { # Trin 5 . Elementet er sprunget Hvis hashværdi 0.push @ $ new_array , $ _ ; # Trin 4 . Tilføj et element til den nye matrix , hvis hashværdi 1 $ indgange { $ _ } = 0; # Trin 4 . Elementet er markeret , dvs ændre hash værdien til 0 . }

    }}

    # Subroutine Slutter

    # Afsnit 2my $ matrix = [ qw (1 2 6 7 2 9 1 2 6 )], # Trin 1: et eksempel arraymy $ new_array = [] # remove_duplicates ($ array, $ new_array ), print " @ $ array- \\ n"; # ​​Trin 2 . Udskrivning indledende arrayprint " @ $ new_array \\ n"; # ​​udskriver den endelige arrayexit ,

    Forrige :

    næste :
      Relaterede artikler
    ·Forskellen mellem Exit & Dø i Perl 
    ·Hvordan installerer jeg Vix 1,5 Perl 
    ·Hvordan laver man et array af en vis størrelse i Perl 
    ·Om Perl Chr Function 
    ·Sådan Skjul Password tegn i STDIN Perl Windows 
    ·Sådan Find dubletter i File Brug Perl 
    ·Sådan bruges linjerne i en fil som en liste i Perl 
    ·Sådan bruges PDF Xchange Viewer 
    ·Sådan konverteres fra Python til Perl 
    ·Sammenligning af Perl Med Python 
      Anbefalede Artikler
    ·Sådan Beregn Color Gradient 
    ·Sådan fjernes en e-mailadresse fra en streng i PHP 
    ·Hvordan man skriver programmer i Visual Basic 
    ·Sådan indstilles Gridview DataKey i Code 
    ·Formel Vs. Semi Formel Algoritme Metoder 
    ·Sådan bruges Console.Write i VB.NET 
    ·Sådan Udfør en lagret procedure kommando i Visual Bas…
    ·Sådan kopieres en MySQL-database til en hjemmeside 
    ·Sådan oprettes en MSChart Control for en XY Scatter i …
    ·Konvertering Char Buffer til Double i C + + 
    Copyright © Computer Viden http://www.computerdk.com