Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Hoe te Priority Queue klasse Met behulp Array Implementeren
Een wachtrij slaat gegevens op in volgorde en bevat twee functies : push en pop . Duw plaatsen van een item aan het einde van de wachtrij ; pop verwijdert het item op de voorzijde en laat het zien. Een prioritaire rij gedraagt ​​zich hetzelfde , met een verschil: push voegt items om de wachtrij in een bepaalde volgorde . Arrays zijn niet ideaal voor een prioritaire rij , en onvoldoende flexibel , waardoor het moeilijk de wachtrij sorteren . Echter zijn zij bruikbaar voor het leren van het concept. Instructies
1

Kies het datatype dat uw prioriteit wachtrij houdt . Als dit de eerste keer is het schrijven van een prioriteit wachtrij , kiest iets simpels , zoals een integer . Kopen van 2

Maak een array om te dienen als uw wachtrij . Als uw data type is integer , en je wilt 10 punten te houden , wordt uw array worden gemaakt met behulp van code als volgt :

int [ ] arr = new int [ 10 ] ;

Houd in erg dat 0 is de eerste index van een array. Om toegang te krijgen tot de eerste index van arr , zou u verwijzen naar arr [ 0 ] , en arr [ 9 ] zouden toegang krijgen tot de laatste index van arr . In dit geval , arr [ 10 ] veroorzaakt een fout .
3

Bepaal de sorteerfunctie . Het zal later worden gebruikt om items in de juiste volgorde te duwen . Deze functie heeft twee ingangen , dan vergelijkt ze . Wanneer de eerste ingang een hogere waarde , geeft de functie 1 , als beide ingangen hebben dezelfde waarde , retourneert 0 , en als de eerste ingang een lagere waarde , retourneert -1 . Als dit de eerste keer is het schrijven van een sorteer functie , en uw data type keuze is integer , moet je beginnen met de numerieke volgorde , waarin de lagere nummers hebben een lagere waarde . Sorteren op numerieke waarde , zal de code er als volgt uit :

als ( eerste > seconde ) return 1 ;

if ( eerste == tweede ) return 0 ;

if ( eerste < tweede ) terug -1 ;

Dit werkt ook voor andere aantal data types , zoals tweepersoonskamers en praalwagens . Als u gebruik maakt van strings , kan u sorteren op alfabetische volgorde .
4

Start de push -functie . Dit duurt een ingang , het item te duwen op de wachtrij , en uitgangen niets . Op Java , als uw gegevens type is integer , zal je code er als volgt uit :

public void push
( int in ) op

Je code ziet er ongeveer in de meeste andere programmeertalen , waaronder C en C + + . ' Void ' betekent dat deze functie niets zal uitvoeren .
5

Maak een matrix van dezelfde grootte als de array die u gebruikt voor uw wachtrij . Als uw huidige array kan houden 10 getallen , zul je een array te maken zoals :

int [ ] secondArray = new int [ 10 ] ;

Deze tweede reeks zal later je wachtrij geworden . Als de laatste vermelding in uw array vol is , betekent dit dat u elk item in de array hebben gebruikt , je moet in plaats daarvan een array dat is een vermelding groter
6

Vergelijk de input voor elk item . in de array , beginnend met de eerste , met behulp van de sorteerfunctie . Zorg er altijd voor push -ingang het eerste item dat u in de sorteerfunctie . Om input te duwen en het eerste item van arr vergelijken , zal je code er als volgt uit :

soort
( in , arr [ 0 ] ) ;

Hier , " in " is de naam gegeven aan de inbreng variabele uit stap 4

Als dit rendement -1 , zet inbreng duw in de tweede matrix : .

secondArray
[ 0 ] = in ;

Anders kopieert het item uit de eerste reeks in de tweede matrix :

secondArray [ 0 ] = arr [ 0 ] ;

dan vergelijk ingang duwen om het volgende item in de eerste reeks :

sort ( in , arr [ 1 ] ) ;

Herhaal dit totdat push -ingang wordt ingebracht in de tweede matrix of totdat er geen items meer in de eerste reeks . In het laatste geval , inbreng plaats duwen als het volgende item in de tweede reeks .

Copy 7 de rest van de items uit de eerste reeks in de tweede reeks . Nu ingang van die push is geplaatst in de tweede reeks , heb je geen behoefte aan het soort functie . Van nu af aan , gebruik maken van de tweede matrix in plaats van de eerste , de eerste matrix is nu achterhaald . Met deze , de push -functie is voltooid .
8

Schrijf de pop -functie . Dit neemt geen ingangen , maar stuurt een item uit de wachtrij . Als uw data type is integer , zal je code er als volgt uit :

public int pop
( ) op

Het tweede woord , " int ", betekent dat deze functie een integer zal uitvoeren < br . >
9

Maak een tweede serie van hetzelfde formaat als uw huidige array. Kopieer vervolgens het tweede item van de eerste serie in de eerste vermelding in de tweede reeks , de derde post in tweede ingang van de tweede array , en zo verder en zo voort , totdat er geen meer inzendingen . Weet het eerste item in de eerste matrix niet kopiëren . Als uw array bevat 4 items , zal de code er als volgt uit :

secondArray [ 0 ] = arr [ 1 ]
;

secondArray
[ 1 ] = arr [ 2 ] ;

secondArray [ 2 ] = arr [ 3 ] ;

Recall
dat de eerste index van een array is 0 . Dit betekent dat secondArray [ 0 ] is het eerste item van secondArray en arr [ 1 ] is het tweede item van arr .
10

terug het eerste item van de eerste serie . Je code ziet er als volgt uit:

terugkeer arr
[ 0 ] ;

Zoals met de push -functie , de tweede reeks is nu uw wachtrij . De pop -functie is nu voltooid .

Previous: Next:
  Computer Programming Languages
·Hoe maak je een knop gebruiken…
·Hoe te Form Waarden ligt in ee…
·Definitie van 64 Bit GCC 
·Hoe maak je een Float variabel…
·Hoe maak je een programma dat …
·Hoe maak je een Chess Board Ma…
·De voordelen van pointers 
·? Wat zijn Speciale tekens in …
·Hoe maak je een herhalen Progr…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe te Toevoegen Gridview 
·Hoe kan ik PHP of ASP.NET -versie wijzig…
·Hoe maak je een ComboBox invoegen in C -…
·Java Splash Screen Tutorial 
·Hoe maak je Stuur een gratis sms behulp …
·Hoe maak je een tekstvak converteren naa…
·PHP IDE Vs . PHP Eclipse 
·Hoe te Hours converteren naar Seconds in…
·Hoe maak je een driehoek in C Afdrukken 
Copyright © Computer Kennis http://www.nldit.com