Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Computer Programmeringsspråk >> Content
    Hvordan implementere Priority Queue Class hjelp Array
    En kø lagrer data i rekkefølge og inneholder to funksjoner: push- og pop. Push steder en vare til slutten av køen , pop fjerner elementet foran og returnerer den . En prioritert kø oppfører seg på samme måte, med ett unntak: trykk legger til elementer i kø i en bestemt rekkefølge . Arrays er ikke ideelt for en prioritert kø , de mangler fleksibilitet , noe som gjør det vanskelig å sortere køen . Men de er nyttig for å lære konseptet. Instruksjoner
    en

    Velg datatype din prioritet kø holder. Hvis dette er første gang du skriver en prioritert kø , velger noe enkelt , for eksempel et heltall.
    2

    Lag en matrise for å tjene som køen. Hvis dataene typen er heltall , og du ønsker å holde 10 elementer , vil matrisen kan opprettes ved hjelp av kode som dette : en

    int [ ] arr = new int [ 10 ];

    Hold tankene at 0 er den første indeksen på noe array. For å få tilgang til første indeks over arr , vil du se arr [ 0 ] , og arr [ 9 ] vil få tilgang til den siste indeksen arr. I dette tilfellet , arr [ 10 ] forårsaker en feil .
    3

    Bestem sortering funksjon . Det vil bli benyttet senere for å presse elementene i riktig rekkefølge. Denne funksjonen tar to innganger , så sammenligner dem . Hvis den første inngang har en høyere verdi , returnerer funksjonen 1 , hvis begge innganger har samme verdi vender tilbake til 0 , og hvis den første inngang har en lavere verdi , går den tilbake -1 . Hvis dette er første gang du skriver en sorteringsfunksjon , og dine data type valg er heltall , bør du starte med numerisk rekkefølge , der lavere tall har en lavere verdi. Sortering ved numerisk verdi , vil koden se slik ut : en

    if ( første > andre ) return 1;

    if ( første == andre ) return 0 ;

    if ( første < andre ) returnerer -1 ;
    p Dette fungerer også for andre antall datatyper , som dobler og flyter . Hvis du bruker strenger , kan du sortere etter alfabetisk rekkefølge .
    4

    Start push- funksjonen. Dette tar en inngang , elementet å presse på køen , og utganger ingenting . I Java , hvis datatype er heltall , vil koden se slik ut : en

    public void trykk ( int i )

    Din kode vil ligne på de fleste andre programmeringsspråk , inkludert C og C + + . " Void " betyr at denne funksjonen vil produksjonen ingenting .
    5

    Lag en matrise av samme størrelse som matrisen du bruker for køen. Hvis din nåværende matrise kan holde 10 heltall , vil du lage en matrise som dette : en

    int [ ] secondArray = new int [ 10 ];

    andre rekke vil senere bli din køen. Hvis den siste oppføringen i arrayet er full, betyr dette at du har brukt hver oppføring i rekken , bør du i stedet lage en matrise som er en entry større
    6

    Sammenlign innspill til hvert element . i arrayet , og starter med det første , ved hjelp av sorteringsfunksjonen . Alltid gjøre push- innspill det første elementet du plasserer i den slags funksjon . Å sammenligne presse innspill og det første elementet fra arr , vil koden se slik ut : en

    sortere ( i , arr [ 0 ] ) ;

    Her er " in" er navnet gitt til inngangsstorrelsen fra trinn 4
    p Hvis dette returnerer -1 , satte trykk innspill i andre rekke : .

    secondArray [ 0 ] = i ;

    Ellers kopiere element fra den første matrisen i andre rekke : en

    secondArray [ 0 ] = arr [ 0 ];

    deretter sammenligne presse innspill til neste element i første rekke :
    < p > sort ( i , arr [ 1 ] ) ;

    Fortsett denne til presse innspill er satt inn i andre rekke , eller til det ikke er flere elementer i første rekke . I sistnevnte tilfelle , sted presse innspill som det neste elementet i andre rekke .
    7

    Kopier resten av elementene fra den første matrisen i andre rekke . Nå som push- inngang er plassert i andre rekke , har du ikke behov for den slags funksjon . Fra nå av bruker andre rekke snarere enn den første , den første matrise er nå utdatert . Med dette er push -funksjonen fullført.
    8

    Skriv pop funksjon . Dette tar ingen innganger , men det utganger ett element fra køen. Hvis dataene typen er heltall , vil koden se slik ut : en

    public int pop ( )

    andre ord , " int ", betyr at denne funksjonen vil sende et heltall

    9

    Lag en andre rekke samme størrelse som din nåværende array. Deretter kopierer det andre elementet fra den første matrisen i den første oppføringen i andre rekke , det tredje elementet i andre rekke nest oppføring, og så videre og så videre , helt til det ikke er flere oppføringer . Ikke kopier det første elementet i første rekke . Hvis matrise inneholder fire elementer , vil koden se slik ut : en

    secondArray [ 0 ] = arr [ 1 ];

    secondArray [ 1 ] = arr [ 2 ];
    < p> secondArray [ 2 ] = arr [ 3 ];

    Recall at den første indeks av en matrise er 0 . Dette betyr at secondArray [ 0 ] er det første elementet av secondArray , og arr [ 1] er det andre elementet av arr.
    10

    tilbake det første elementet fra første rekke . Koden vil se slik ut : en

    retur arr [ 0 ];
    p Som med push -funksjonen , er den andre rekke nå din køen. Den pop -funksjonen er nå fullført.

    früher :

     Weiter:
      Relatert Artike
    ·The History of Turbo Pascal programmering 
    ·Hvordan automatisere FTP nedlastinger 
    ·Hvordan finne Scripts 
    ·Slik bruker du en statisk Vedvarende Route 
    ·Memory Leak Detection Tools 
    ·Driver Developer Hjelp 
    ·Hvordan Krypter e-post i ColdFusion 
    ·Forskjeller mellom Library Funksjon og brukerdefinert f…
    ·Hvordan implementere SQL rapporter i Microsoft Dynamics…
    ·Hvordan lage kolonner i Listbox C # 
      Anbefalte artikler
    ·Hvordan lage en standard Radio Button i Android 
    ·Hvordan lage en Datatype i Umbraco 
    ·Hvordan å kompilere et Kernel for en Android 
    ·Hvordan lage Store Strings i VB 6.0 
    ·Hvordan lage Drawables Fra Resource ID på Android 
    ·Hvordan @ Echo Command i Notepad 
    ·Hvordan kombinere Lister Into Python Ordbøker 
    ·Hvordan lese en digital signatur i C # 
    ·Trinnene for å installere JDK på en datamaskin 
    ·Slik konverterer PSD til Joomla 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/