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 >> Computer Programspråk >> Content

    Hur man genomför Class Priority Queue Använda Array

    En kö lagrar data i sekvens och innehåller två funktioner : push- och pop . Push ställen en post i slutet av kön , pop tar bort posten på framsidan och returnerar det . En prioriterad kö beter sig likt , med en skillnad : tryck lägger till objekt i kö i en viss ordning . Arrayer är inte idealiskt för en prioriterad kö , de saknar flexibilitet , vilket gör det svårt att sortera i kön . De är dock användbart för att lära konceptet. Instruktioner
    1

    Välj datatyp din prioritetskön innehar . Om detta är första gången du skriver en prioriterad kö , välja något enkelt, som ett heltal .
    2

    Skapa en array för att fungera som din kö . Om din datatyp är heltal , och du vill hålla 10 poster, kommer din array skapas med hjälp av koden så här :

    int [ ] arr = new int [ 10 ] ;

    Håll ihåg att 0 är det första indexet i någon grupp . För att komma åt det första indexet för arr , skulle du hänvisa till arr [ 0 ] och arr [ 9 ] skulle komma åt den sista index arr . I detta fall , arr [ 10 ] orsakar ett fel .
    3

    Bestäm sorteringsfunktion . Det kommer att användas senare för att driva objekt i rätt ordning. Den här funktionen tar två ingångar , sedan jämför dem . Om den första ingången har ett högre värde , returnerar funktionen 1 , om båda ingångarna har samma värde , returneras 0 , och om den första ingången har ett lägre värde , returneras -1 . Om detta är första gången du skriver en sorteringsfunktion , och dina uppgifter typ av val är heltal , bör du börja med numerisk ordning , i vilken lägre siffror har ett lägre värde . Sortering av numeriskt värde , kommer koden se ut så här :
    p Om ( första > sekund ) avkastning 1;
    p Om ( första == sekund ) avkastning 0 ;

    if ( första < sekund ) returnera -1 ,

    Detta fungerar även för andra antal datatyper , till exempel dubbel och flottar . Om du använder strängar , kan du sortera i alfabetisk ordning .
    4

    Starta push-funktion . Detta tar en ingång , posten att trycka på kö , och utgångar ingenting . I Java , om din datatypen är heltal , kommer din kod ser ut så här :

    public void push ( int i ) katalog

    Din kod kommer att se ut ungefär i de flesta andra programmeringsspråk , inklusive C och C + +. " Void " innebär att denna funktion kommer att mata ingenting .
    5

    Skapa en matris av samma storlek som den array som du använder för ditt kön . Om din nuvarande samling rymmer 10 heltal , kommer du att skapa en array så här :

    int [ ] secondArray = new int [ 10 ] ;

    Denna andra grupp kommer senare bli din kö . Om den sista posten i arrayen är full , innebär det att du har använt varje post i arrayen , du bör i stället skapa en array som är en post större
    6

    Jämför ingången till varje objekt . i din arrayen, från den första , med hjälp av sorteringsfunktionen . Gör alltid tryck input det första objektet som du placerar i sorteringen fungerar . Att jämföra tryck input och den första posten från arr , kommer din kod ser ut så här :

    sort ( i , arr [ 0 ] ) ;

    Här , " i " är namnet på invariabeln från steg 4
    p Om denna avkastning -1 , sätta tryck input i den andra arrayen : .

    secondArray [ 0 ] = i ;

    Annars kopierar objekt från den första uppsättningen i den andra arrayen :

    secondArray [ 0 ] = arr [ 0 ] ;

    jämför sedan trycka input till nästa objekt i den första arrayen :

    sort ( i , arr [ 1 ] ) ;

    Fortsätt med detta till Push -funktionen ställs in i den andra matrisen eller tills det inte finns fler objekt i den första gruppen . I det senare fallet platsen tryck input som nästa objekt i den andra gruppen .
    7

    Kopiera resten av objekten från den första uppsättningen i den andra gruppen . Nu som trycker input har placerats i den andra gruppen , har du inget behov av den sortens funktion . Från och med nu kan du använda den andra arrayen snarare än den första , den första uppsättningen är överspelad . Med detta är push -funktionen komplett .
    8

    Skriv pop -funktionen . Detta tar några ingångar , men det skriver ut ett objekt från din kö . Om din datatyp är heltal , kommer din kod ser ut så här :

    public int pop ( ) katalog

    andra ord , " int ", innebär att denna funktion kommer att mata ett heltal

    9

    Skapa en andra uppsättning av samma storlek som din nuvarande samling . Kopiera sedan den andra posten från den första uppsättningen till den första posten i den andra gruppen , den tredje posten i den andra arrayen s andra posten , och så vidare och så vidare , tills det inte finns fler poster . Kopiera inte den första posten i den första uppsättningen . Om din array innehåller 4 objekt , kommer din kod ser ut så här :

    secondArray [ 0 ] = arr [ 1 ] ,

    secondArray [ 1 ] = arr [ 2 ] ;

    secondArray [ 2 ] = arr [ 3 ] ,

    Minns att det första indexet i en array är 0 . Detta innebär att secondArray [ 0 ] är den första posten i secondArray och arr [ 1 ] är den andra artikeln i arr .
    10

    tillbaka den första posten från den första uppsättningen . Din kod kommer att se ut så här :

    retur arr [ 0 ] ;

    med push-funktion , är den andra arrayen nu din kö . Popup -funktionen är nu klar .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man fångar alla DataGrid Undantag
    ·Hur man skapar en Sidebar Från KML
    ·Hur man använder Välj Vart Match på alla kolumner i …
    ·Hur man uppdaterar en markör med COBOL
    ·Hur Placera en DIV i en webbläsare
    ·Prolog Språk Tutorial
    ·Hur man programmerar val i en batch-fil
    ·Hur man gör en MSN Bot
    ·Steg till Förhandling Protocol
    ·Hur man läser ett User /System Environment Variable An…
    Utvalda artiklarna
    ·Hur man raderar Databas Rake Rails
    ·Hur man gör spel i VB.NET
    ·Hur Testa PHP på en dator
    ·Hur vill kolla en fastighet i Access VBA
    ·Hur man gör en OSA Knapp för Facebook- evenemang Anvä…
    ·Hur man gör en handväska Från soppåsar , Notes Post…
    ·Skillnad mellan Tolkade & Sammanställt Språk
    ·Hur man skapar en AVD Path i Android
    ·Vad är fel Två i Redigera Rocket Java Compiler
    ·Hur man skapar ett File Upload rutin i PHP
    Copyright © Dator Kunskap http://www.dator.xyz