Javascript-Prioritätswarteschlange

| | | | | | | |

Verwendung von PriorityQueue in Java

Prioritätswarteschlangen werden beim Programmieren verwendet, um Datenstrukturen zu erstellen, wobei das Datenelement mit dem höchsten Wert zuerst von der Struktur verarbeitet werden muss.

Codierung In Java können Sie auf eine Situation stoßen, in der Sie eine Prioritätswarteschlange implementieren möchten. Hier kommt die Java-Queue-Schnittstelle ins Spiel. Da die Warteschlange jedoch eine Schnittstelle ist, kann sie nicht direkt im Code implementiert werden. Wenn Sie eine Prioritätswarteschlange mit der gehäuften Datenstruktur erstellen möchten, müssen Sie stattdessen PriorityQueue verwenden.

Dieses Tutorial behandelt die Grundlagen von PriorityQueue in Java und untersucht, wie eine Warteschlange erstellt wird. Dieses Tutorial wird auch die Hauptmethoden untersuchen, die von PriorityQueue angeboten werden, die verwendet werden können, um den Inhalt der Warteschlange abzurufen und zu manipulieren.

Java-Code und PriorityQueue

Warteschlangen, wie Stacks, sind gegeben Strukturen, die eine bestimmte Reihenfolge haben, in der Operationen ausgeführt werden. Im Fall von Warteschlangen werden Operationen für First In, First Out (FIFO) durchgeführt. Das bedeutet, dass der erste Eintrag auf der Liste immer zuerst herauskommt - . Die Warteschlange wird nach den eingegebenen Artikeln sortiert.

Angenommen, Sie befinden sich in einem Restaurant und haben eine Bestellung aufgegeben. Wir empfehlen, dass Sie in dem Moment bedient werden, in dem jeder Kunde sein Essen bestellt hat, denn das ist die netteste Herangehensweise. Wenn Sie also Ihr Essen nach Jack bestellt haben, möchten Sie auch sofort nach Jack serviert werden. Dies ist ein Beispiel einer Warteschlange .

Für die Zwecke dieses Tutorials konzentrieren wir uns auf die Entwicklung der Arbeit PriorityQueue, der Schnittstelle Warteschlange, die verwendet wird, um Prioritätswarteschlangen in Java zu erstellen.

PriorityQueues sind eine Art Warteschlange, deren Elemente nach ihrer Priorität sortiert sind. Das bedeutet, dass in einer Warteschlange mit den Werten ‚Äã‚Äã5 und 10 die 10 immer ganz oben in der Warteschlange steht, auch wenn sie zuletzt hinzugefügt wurde.

Prioritätswarteschlange erstellen

Um Prioritätswarteschlangen in Java zu erstellen, müssen Sie zuerst java.util.PriorityQueue importieren. Dieses Paket enthält die PriorityQueue - Methode , mit der wir unsere Warteschlangen erstellen können . Wir können das PriorityQueue-Paket mit diesem Code importieren:

Jetzt, wo wir PriorityQueue importiert haben, können wir mit dem Paket eine Warteschleife erstellen. die zum Erstellen einer PriorityQueue verwendete Syntax:

FIND Let this:

  • PriorityQueue teilt unserem Programm mit, dass es eine Prioritätswarteschlange erstellen möchte
  • DataType ist der Datentyp, auf den unsere Warteschlange wartet.
  • queue_name ist der Name der Variablen, auf die die Warteschlange wartet erstellen wird. zuerkannt
  • neue PriorityQueue (); a priori Warteschlange initialisieren, halt die Klappe

Also nehmen wir an, wir wollen eine Warteschlange erstellen, die speichert Kundenbestellungen in unserem Restaurant möchten wir, dass unsere Warteschlange die Tischnummer jedes Kunden speichert, könnten wir diesen Stapel mit dem folgenden Code erstellen: ..

In diesem Beispiel haben wir eine PriorityQueue-Instanz namens orders integer values ‚Äã‚Äã< erstellt /code>, der in unserer Warteschlange speichert, auf Elemente zugegriffen und diese gelöscht werden, indem die FIFO-Datenstruktur verwendet wird.

Element zu PriorityQueue hinzufügen

In Java wird jedes Element in einer Warteschlange aufgerufen element.

um ein Element zu einer Warteschlange hinzuzufügen, wir können die add () verwenden. Diese Methode nimmt einen Parameter: Wert des Elements, das Sie Ihrer Warteschlange hinzufügen möchten. Wenn die Warteschlange des wartenden e voll ist, gibt add () eine Ausnahme zurück.

Zusätzlich können wir Offer () verwenden, um ein hinzuzufügen Element in eine Warteschlange. Der Unterschied zwischen add () und Offer () besteht darin, dass Offer () false zurückgibt, wenn die Warteschlange voll ist, während add ( ) löst eine Ausnahme aus.

Angenommen, wir möchten die Tische Nr. 22 und Nr. 17 in dieser Reihenfolge zu unserem Stack hinzufügen, weil sie gerade Mittagessen bestellt haben. Wir könnten dies mit diesem Code tun:

Unser Code gibt zurück:

Break from Descended unser Beispiel. Zuerst haben wir die PriorityQueue-Klasse importiert, die wir später in unserem Code verwenden werden. Wir haben also eine Klasse namens AddCustomer deklariert, die unseren Code für dieses Beispiel speichert. So funktioniert der Code in unserer Klasse:

  1. Wir verwenden new PriorityQueue <> ();, um eine Prioritätswarteschlange namens commands zu erstellen .
  2. Wir benutzen add () um Tabelle Nr. 22 zu unserem Stack hinzuzufügen
  3. Wir schreiben das Wort commands:. gefolgt durch den Inhalt unseres Stacks an der Konsole.
  4. Wir verwenden offer (), um Tabelle Nr. 17 zu unserem Stack hinzuzufügen.
  5. Wir drucken an die Konsole der Begriff aktualisierte Befehle . gefolgt vom überarbeiteten Inhalt unseres Stacks
  6. 22 erscheint zuerst in unserem Stack und wird daher als erstes beendet, wenn wir ein Element entfernen. Mit anderen Worten, Array Nr. 22 befindet sich ganz oben auf unserem Stack. Tabelle Nr. 17 wird in unserem Stack an zweiter Stelle gespeichert. Denken Sie daran - Sie, die Prioritätswarteschlangen sind in der FIFO-Reihenfolge klassifiziert

Unser Code kehrt zurück ein Array mit unseren ursprünglichen Befehlen, dann ein Array mit unseren aktualisierten Befehlen .

Element aus PriorityQueue entfernen

Es gibt zwei Methoden, die verwendet werden können, um ein Element aus einer PriorityQueue zu entfernen:

Angenommen, unser Sub-Chef hat Befehl Nr. 17 verarbeitet und möchte ihn aus dem Stapel entfernen Nr. 22 und will vom Stack entfernen.

Ref. 17 ist in Position 2 unseres Stacks und Order Nr. 22 i s an Position 1. Wir wollen diese Elemente in dieser Reihenfolge eliminieren. Wir könnten diesen Code verwenden, um die Befehle zu entfernen:

Unser Code gibt zurück:

Lassen Sie unseren Code pausieren. Zuerst haben wir mit delete() die Order an Position 2 in unserem Stack gelöscht. Dieser Befehl Nr. 17 wurde gelöscht

unser Code gab eine Meldung aus, die besagte:.? Bestellung Nr. 17 wurde gelöscht, gefolgt vom Ergebnis der Methode delete (). delete() #17 erfolgreich von unserem Stack entfernt, die Methode gibt true zurück

Als Nächstes haben wir poll () verwendet, um das oberste Element aus unserem Stack zu entfernen. In diesem Fall war es kein Auftrag. 22. poll() hat die Bestellung ne gelöscht. 22 und gab das gelöschte Element zurück. Nachdem der Artikel entfernt wurde, druckten wir die Nachricht Kommandant # [Bestellnummer entfernt] wurde aus der Warteschlange entfernt . in der Konsole.

Get Item

Die Methode peek() wird verwendet, um den Header eines Warteschlangenelements abzurufen (das erste Element in der Warteschlange ). Angenommen, wir möchten den Wert der nächsten Bestellung in unserem Stapel wissen, weil unser Sous-Chef bereit ist, eine neue Bestellung anzunehmen.

Wir könnten diesen Code verwenden, um die Tischnummer des Kunden nebenan abzurufen die Zeile:

Unser Code gibt zurück:

das erste Element in unserem Stack ist 22, wenn wir also peek() verwenden, gibt unser Programm den Wert 22 "letzte Zeile unseres Codes zurück , geben wir eine Nachricht aus, die besagt: Die zu verarbeitende Bestellung ist Tabelle Nr. [erste Bestellnummer auf dem Stapel], wobei die erste Bestellnummer auf dem Stapel von peek()< entdeckt wurde /code>.

Warteschlange iteriert nach Priorität

Wenn Sie mit Warteschlangen arbeiten, möchten Sie häufig die Elemente in der Prioritätswarteschlange durchlaufen

p>

Dazu können wir den iterator () verwenden, der Teil des Pakets java.util.Iterator ist. Wir verwenden den Code <> iterator () , müssen Sie zuerst das Iterator-Paket mit diesem Code importieren:

Angenommen, wir möchten eine Liste aller Artikel in unserer Restaurantbestellwarteschlange an die Konsole drucken, die wir mit diesem Code tun könnten:.

Unser Code gibt zurück:

In unserem Code fügen wir zunächst vier Werte ‚Äã‚Äãzu unserer Warteschlange hinzu. Wir verwenden dann den Iterator (), um einen Iterator zu erstellen, mit dem wir alle Elemente in unserer Prioritätswarteschlange untersuchen können. Als Nächstes erstellen wir ein while, das jedes Element in unserem Iterator durchläuft – für jedes Element in der command-Warteschlange – . Und gibt den folgenden Wert in der Warteschlange aus <

h2> zusätzliche Methoden PriorityQueue

Es gibt drei weitere Methoden, die häufig mit der Klasse PriorityQueue verwendet werden. Diese sind:

Name der Methode description
size () gibt die Länge der Warteschlange zurück .
toArray () konvertiert die Warteschlange in ein Array.
enthält (elementName) Suche in der Warteschlange nach einem Element.

Schlussfolgerung

Die PriorityQueue-Klasse wird in Java verwendet, um das Warten der Warteschlangenschnittstelle zu implementieren. Warteschlangen verwenden die FIFO-Datenstruktur, also wer zuerst rauskommt.

Dieses Tutorial zeigte die Grundlagen von Warteschlangen und Prioritätswarteschlangen in Java. Wir haben auch besprochen, wie man eine Warteschlange erstellt und die wichtigsten Methoden, die Sie zum Abrufen verwenden können Objekte und manipulieren Sie eine Warteschlange .

Jetzt haben Sie die Werkzeuge, die Sie brauchen, um mit der Verwendung der Java PriorityQueue-Klasse wie ein Profi zu beginnen!

>

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