Prioriteitswachtrij voor Javascript

| | | | | | | |

PriorityQueue in Java gebruiken

Prioriteitswachtrijen worden bij het programmeren gebruikt om gegevensstructuren te creëren waarbij het gegevensitem met de hoogste waarde eerst door de structuur moet worden verwerkt.

codering in Java kunt u een situatie tegenkomen waarin u een prioriteitswachtrij wilt implementeren. Dit is waar de Java Queue-interface van pas komt. Omdat de wachtrij echter een interface is, kan deze niet rechtstreeks in code worden geïmplementeerd. Als u een prioriteitswachtrij wilt maken met de overvolle gegevensstructuur, moet u in plaats daarvan PriorityQueue gebruiken.

In deze zelfstudie worden de basisprincipes van PriorityQueue in Java besproken en wordt onderzocht hoe u een wachtrij kunt maken. Deze tutorial onderzoekt ook de belangrijkste methoden die worden aangeboden door PriorityQueue die kunnen worden gebruikt om de inhoud van de wachtrij op te halen en te manipuleren.

Java-code en PriorityQueue

Wachtrijen, zoals stapels, worden gegeven structuren met een specifieke volgorde waarin bewerkingen worden uitgevoerd. In het geval van wachtrijen worden bewerkingen uitgevoerd voor First In, First Out (FIFO). Dit betekent dat het eerste item op de lijst altijd als eerste verschijnt - . De wachtrij wordt gesorteerd op de ingevoerde items

Stel dat je in een restaurant bent en een bestelling hebt geplaatst. We raden je aan om bediend te worden op het moment dat elke klant zijn eten heeft besteld, want dat is de mooiste benadering. Dus als je na Jack je eten hebt besteld, wil je direct na Jack geserveerd worden. Dit is een voorbeeld van een wachtrij.

Voor de doeleinden van deze tutorial zullen we ons concentreren op het ontwikkelen van werk PriorityQueue, de interfacewachtrij, wachtend, die wordt gebruikt om rijen met prioriteitswachtrijen in Java te creëren.

Prioriteitswachtrijen zijn een soort wachtrij waarvan de items zijn gesorteerd op prioriteit. Dit betekent dat in een wachtrij met waarden ‚Äã‚Äã5 en 10, 10 altijd bovenaan de wachtrij staat, zelfs als deze als laatste is toegevoegd.

Prioriteitswachtrij maken

Als u een prioriteitswachtrij in Java wilt maken, moet u eerst de java.util.PriorityQueue importeren. Dit pakket bevat de methode PriorityQueue die we kunnen gebruiken om onze wachtrijen te maken. We kunnen het PriorityQueue-pakket importeren met deze code:

nu, we hebben PriorityQueue geïmporteerd, we kunnen een wachtrij voor wachten creëren met behulp van het pakket. de syntaxis die wordt gebruikt om een PriorityQueue te maken:

VINDEN Laat dit:

  • PriorityQueue vertelt ons programma dat het een prioriteitswachtrij wil maken
  • DataType is het type gegevens voor onze wachtrij, wachtend om op te slaan.
  • queue_name is de naam van de variabele waarnaar de wachtrij van wachten, we creëren zal zijn. toegekend
  • nieuwe PriorityQueue (); initialiseer a priori wachtrij zwijg

Dus stel dat we een wachtrij willen maken die bestellingen van klanten in ons restaurant we willen dat onze wachtrij het tafelnummer van elke klant opslaat we kunnen deze stapel maken met de volgende code: ..

In dit voorbeeld hebben we een PriorityQueue-instantie gemaakt met de naam orders integer values ‚Äã‚Äã die in onze wachtrij opslaat, items worden geopend en verwijderd met behulp van de FIFO-gegevensstructuur.

Element toevoegen aan PriorityQueue

In Java wordt elk element in een wachtrij aangeroepen element.

om een item aan een wachtrij toe te voegen, we kunnen de add () gebruiken. Deze methode heeft één parameter nodig: waarde van het item dat u aan uw wachtrij wilt toevoegen. Als de wachtrij van wachtende e vol is, retourneert de add () een uitzondering.

Bovendien kunnen we de Offer () gebruiken om een item in een wachtrij. Het verschil tussen add () en Offer () is dat Offer () false retourneert als de wachtrij vol is, terwijl add ( ) gooit een uitzondering.

Stel dat we de tafels 22 en 17 in die volgorde aan onze stapel willen toevoegen omdat ze net lunch hebben besteld. We zouden het met deze code kunnen doen:

Onze code retourneert:

Break van Afgedaald ons voorbeeld. Eerst hebben we de klasse PriorityQueue geïmporteerd, die we later in onze code zullen gebruiken. We hebben dus een klasse met de naam AddCustomer gedeclareerd, die onze code voor dit voorbeeld opslaat. Dit is hoe de code in onze klas werkt:

  1. We gebruiken new PriorityQueue <> (); om een prioriteitswachtrij te maken met de naam commands .
  2. We gebruiken add () om tabel 22 aan onze stapel toe te voegen
  3. We printen het woord commands:. gevolgd door de inhoud van onze stapel op de console.
  4. We gebruiken offer () om tabel # 17 aan onze stapel toe te voegen.
  5. We printen naar de console de term geüpdatete commando`s . gevolgd door de herziene inhoud van onze stapel

22 verschijnt als eerste in onze stapel, en zal dus de eerste zijn die afsluit wanneer we een element verwijderen. Met andere woorden, array # 22 staat bovenaan onze stapel. Tabel # 17 wordt op de tweede positie in onze stapel opgeslagen. Onthoud - u, de wachtrijen met prioriteit voor wachten worden geclassificeerd in de FIFO-volgorde

Onze code keert terug een array met onze originele opdrachten en vervolgens een array met onze bijgewerkte opdrachten.

verwijder item uit PriorityQueue

Er zijn twee methoden die kunnen worden gebruikt om een item uit een PriorityQueue te verwijderen:

Stel dat onze onderbaas opdracht # 17 heeft verwerkt en het van de stapel wil verwijderen. Nadat de bestelling was verwerkt, bereidde onze chef-kok zich voor op nr. 22 en wil van de stapel verwijderen.

Ref. 17 staat op positie 2 van onze stapel en bestel nr. 22 i s op positie 1. We willen deze items in die volgorde elimineren. We zouden deze code kunnen gebruiken om de commando`s te verwijderen:

Onze code geeft als resultaat:

Laat onze code even pauzeren. Eerst gebruikten we de delete () om de bestelling op positie 2 in onze stapel te verwijderen. Dit commando # 17 verwijderde

onze code drukte een bericht af met de tekst:.? Order # 17 is verwijderd gevolgd door het resultaat van de delete () methode. delete () heeft # 17 succesvol verwijderd uit onze stapel, de methode retourneert true

Vervolgens gebruikten we poll () om het bovenste item van onze stapel te verwijderen. In dit geval was het geen bestelling. 22. poll () heeft de bestelling verwijderd ne. 22 en stuurde het verwijderde item terug. Nadat het item was verwijderd, hebben we het bericht Commander # [ordernummer verwijderd] is verwijderd uit de wachtrij afgedrukt. in de console.

Item ophalen

De methode peek () wordt gebruikt om de koptekst van een wachtrij-item op te halen (het eerste item in de wachtrij ). Stel dat we de waarde van de volgende bestelling in onze stapel willen weten omdat onze souschef klaar is om een nieuwe bestelling te accepteren.

We zouden deze code kunnen gebruiken om het tafelnummer op te halen van de klant die naast de regel:

Onze code geeft als resultaat:

het eerste element in onze stapel is 22, dus wanneer we de peek () gebruiken, retourneert ons programma de waarde 22 "laatste rij van onze code , drukken we een bericht af dat zegt: de te verwerken bestelling is tabel # [eerste bestelnummer op stapel], waar het eerste bestelnummer op de stapel werd ontdekt door peek ().

Wachtrij itereert op prioriteit

Vaak als u met wachtrijen werkt, wilt u de items in de prioriteitswachtrij herhalen

p>

Om dit te doen kunnen we de iterator () gebruiken, die deel uitmaakt van het pakket java.util.Iterator. We gebruiken de code <> iterator () , moet u eerst het Iterator-pakket importeren met deze code:

Stel dat we een lijst willen afdrukken van alle items in de wachtrij voor restaurantbestellingen naar de console, dan kunnen we deze code gebruiken:.

Onze code geeft als resultaat:

In onze code voegen we eerst vier waarden ‚Äã‚Äã toe aan onze wachtrij . We gebruiken dan de iterator () om een iterator te maken die we kunnen gebruiken om alle items in onze prioriteitswachtrij te onderzoeken. Vervolgens maken we een while die door elk element in onze iterator gaat - voor elk element in de wachtrij command - . En drukt de volgende waarde af in de wachtrij <

h2> aanvullende methoden PriorityQueue

Er zijn drie andere methoden die vaak worden gebruikt met de klasse PriorityQueue. Dit zijn:

Naam van de methode description
size () geeft de lengte van de wachtrij.
toArray () converteert wachtrij naar een array.
bevat (elementName) Zoek in de wachtrij naar een element.

Conclusie

PriorityQueue-klasse wordt in Java gebruikt om de wachtrij-interface te implementeren. Wachtrijen gebruiken de FIFO-gegevensstructuur, dus eerst is eerst uit.

Deze tutorial toonde de basisprincipes van Queuing en PriorityQueues in Java. We hebben ook besproken hoe u een wachtrij kunt maken en de belangrijkste methoden die u kunt gebruiken om op te halen. items en een wachtrij manipuleren.

Je hebt nu de tools die je nodig hebt om de Java PriorityQueue-klasse als een professional te gaan gebruiken!

>

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method