Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> perl Programmering >> Content

    Hur man tar bort dubbletter från Array Perl

    Perl och många andra programmeringsspråk använder arrayer för att lagra en lista med uppgifter . Däremot stöder Perl också en särskild datastruktur kallas hash . Ett Perl hash associerar ett visst värde med en nyckel . Ett exempel är hash { Jan => 31 , april => 30 } , i vilken en månad är en nyckel och ett antal dagar är ett värde . En Perl hash gör det möjligt att utveckla en enkel algoritm för att ta bort dubbletter från en array . Motsvarande subrutin har mindre än tio kommandon i Perl . Instruktioner
    Skapa en subrutin " Remove_duplicates , " en algoritm
    1

    Skaffa array data och förklarar en hash "poster . " En annan grupp som kallas " new_array " kommer att innehålla icke- duplicerade data. Steg 1 till 5 illustreras med Perlkod anges i avsnitt 2 , steg 3 . Tilldela alla array-element som hash nycklar
    2

    och tilldela hash värden lika med 1 för alla nycklar .

    3

    loopa igenom alla element i arrayen och kontrollera hash värdet associerat med detta element .
    4 p Om den hash värdet är 1 ( se steg 3 ) då elementet är original eller inte dupliceras och bör läggas till " new_array . " På samma gång detta element är märkt , dvs hash-värde ändras till 0
    5 p Om hash värdet är 0 , då detta element redan har stött på , . Dvs dupliceras och hoppas < . br >
    exempel och Perl Program
    6

    bort dubbletter från arrayen med elementen ( 1 2 6 7 2 9 1 2 6 ) .
    7

    Skriv inledande och avslutande kedjor ( utan dubbletter )
    8

    # avsnitt 1 # Subrutin börjar

    sub remove_duplicates { my ( $ array , $ new_array ) = @ _ , . # Steg ett . Läs initiala inmatningar arraymy % = (); # Steg 1 . Deklarera hash

    foreach ( @ $ array ) { nästa om det finns $ poster { $ _ } , $ poster { $ _ } = 1 ; # Steg 2 }

    foreach ( @ $ array ) { # Steg 3 . Loopa igenom alla array elementsif ( $ poster { $ _ } ) { # Steg 5 . Elementet hoppas över om hash värdet är 0.push @ $ new_array , $ _ ; # Steg 4 . Lägg till ett element i den nya arrayen endast om hash värdet är 1 $ poster { $ _ } = 0 ; # Steg 4 . Elementet är märkt dvs ändra hash värdet till 0 . } }

    }

    # Subrutin Slutar

    # Avsnitt 2my $ array = [ QW ( 1 2 6 7 2 9 1 2 6 ) ] ; # Steg 1 : ett exempel arraymy $ new_array = []; # remove_duplicates ( $ array , $ new_array ) , print " @ $ array \\ n"; # ​​Steg 2 . Skriva initial arrayprint " @ $ new_array \\ n"; # ​​tryckning slutliga arrayexit ,

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vilket programmeringsspråk kallas Duct Tape på Intern…
    ·Hur konvertera Perl Script till EXE
    ·Hur man läser flera rader med en fil i Perl
    ·Hur Extrahera poster från flera Fasta
    ·Hur man kan utnyttja en sträng i Perl
    ·Hur man läser mer än en rad i taget i Perl
    ·PERT Nackdelar
    ·Hur man skapar en fil med hjälp Perl
    ·Hur man gör en katalog i Perl Med Script
    ·Hur att ersätta en sträng i Perl
    Utvalda artiklarna
    ·Hur man kan förbättra Skriva Logic i Java
    ·Hur man sätter ett värde i en identitet Kolumn
    ·Så här aktiverar Java Applets
    ·Hur Importera databasen till Visual Basic 6
    ·Hur konvertera binär till byte
    ·Hur man skriver ett program som kommer ut ordnade par i…
    ·Konfigurera CVS i Eclipse Skärmdump
    ·Hur man anropar en PHP-fil i en tabell
    ·Hur man gör en server Parse för CSS -filer som PHP
    ·Hur man gör en länk Bounce Med jQuery
    Copyright © Dator Kunskap http://www.dator.xyz