File D’Attente Prioritaire Javascript

| | | | | | | |

Comment utiliser PriorityQueue en Java

Les files d’attente prioritaires sont utilisées en programmation pour créer des structures de données o√π l’élément de données avec la valeur la plus élevée doit être traité en premier par la structure.

Quand codage en Java, vous pouvez rencontrer une situation dans laquelle vous souhaitez implémenter une file d’attente prioritaire. C’est là que l’interface Java Queue entre en jeu. Cependant, comme Queue est une interface, elle ne peut pas être implémentée directement dans le code. Si vous souhaitez créer une file d’attente prioritaire avec une structure de données en tas, vous devrez utiliser PriorityQueue à la place.

Ce didacticiel abordera les bases de PriorityQueue en Java et explorera comment créer une file d’attente. Ce tutoriel explorera également les principales méthodes proposées par PriorityQueue qui peuvent être utilisées pour récupérer et manipuler le contenu de la file d’attente.

Code Java et PriorityQueue

Les files d’attente, comme les piles, sont données structures qui ont un ordre spécifique dans lequel les opérations sont effectuées. Dans le cas des files d’attente, les opérations sont effectuées dans l’ordre premier entré, premier sorti (FIFO). Cela signifie que le premier élément de la liste sera toujours le premier à sortir - la file d’attente est triée en fonction des éléments saisis.

Supposons que vous soyez dans un restaurant et que vous ayez passé une commande. Nous vous recommandons d’être servi dans l’ordre o√π chaque client a commandé sa nourriture, car c’est l’approche la plus juste. Donc, si vous avez commandé votre nourriture après Jack, vous voudrez être servi immédiatement après Jack. Ceci est un exemple de file d’attente.

Pour les besoins de ce tutoriel, nous allons nous concentrer sur l’implémentation PriorityQueue de l’interface Queue, qui est utilisée pour créer des files d’attente prioritaires en Java.

Les PriorityQueues sont un type de file d’attente i dont les éléments sont triés selon leur priorité. Cela signifie que dans une file d’attente avec les valeurs 5 et 10, 10 sera toujours en haut de la file d’attente, même s’il a été ajouté en dernier.

Créer une file d’attente prioritaire

Pour créer une file d’attente prioritaire en Java, vous devez d’abord importer le package java.util.PriorityQueue. Ce package contient la méthode PriorityQueue que nous pouvons utiliser pour créer nos files d’attente. Nous pouvons importer le package PriorityQueue en utilisant ce code:

Maintenant que nous avons importé PriorityQueue, nous pouvons créer une file d’attente en utilisant le package. Voici la syntaxe utilisée pour créer une PriorityQueue:

Découvrons ceci:

  • PriorityQueue indique à notre programme qu’il veut créer une file d’attente prioritaire.
  • DataType est le type de données que notre file d’attente va stocker.
  • queue_name est le nom de la variable à laquelle la file d’attente que nous créons sera assigné.
  • new PriorityQueue (); initialise une file d’attente prioritaire.

Supposons donc que nous voulions créer une file d’attente qui stocke les commandes des clients dans notre restaurant. Nous voulons que notre file d’attente stocke le numéro de table de chaque client. Nous pourrions créer cette pile en utilisant le code suivant:

Dans ce exemple, nous avons créé une instance PriorityQueue appelée commandes qui stocke des valeurs entières. Dans notre file d’attente, les éléments seront accessibles et supprimés à l’aide de la structure de données FIFO.

Ajouter un élément à PriorityQueue

En Java, chaque élément d’une file d’attente est appelé item.

Pour ajouter un élément à une file d’attente, on peut utiliser la add ( ) Cette méthode prend un paramètre: va l’histoire de l’élément que vous souhaitez ajouter à votre file d’attente. Si la file d’attente e est pleine, la méthode add() renverra une exception.

Aussi, nous pouvons utiliser la méthode offer() pour ajouter un élément unilatéral. La différence entre add () et offer () est que offer () renvoie false si la file d’attente est pleine, tandis que add ( ) lève une exception.

Supposons que nous voulions ajouter les tables # 22 et # 17 dans cet ordre à notre pile car ils viennent de commander le déjeuner. Nous pourrions le faire en utilisant ce code:

Notre code renvoie:

Décomposons notre exemple. Tout d’abord, nous avons importé la classe PriorityQueue, que nous utiliserons plus tard dans notre code. Nous avons donc déclaré une classe appelée AddCustomer, qui stocke notre code pour cet exemple. Voici comment fonctionne le code à l’intérieur de notre classe:

  1. Nous utilisons new PriorityQueue <> (); pour créer une file d’attente prioritaire appelée orders .
  2. Nous utilisons la méthode add() pour ajouter la table n¬∞22 à notre pile.
  3. Nous imprimons le mot Orders: suivi du contenu de notre pile à la console.
  4. Nous utilisons la méthode offer() pour ajouter la table n¬∞17 ‚Äã‚Äãà notre pile.
  5. Nous imprimons sur la console le terme Commandes mises à jour: suivi du contenu révisé de notre pile.

22 apparaaît en premier dans notre pile, et sera donc le premier à sortir quand on enlève un élément. En d’autres termes, la table #22 est au sommet de notre pile. La table # 17 est stockée en deuxième position dans notre pile. N’oubliez pas que les files d’attente prioritaires sont triées dans l’ordre FIFO.

< p > Notre code renvoie un tableau avec nos commandes d’origine, puis un tableau avec nos commandes mises à jour.

Supprimer un élément de PriorityQueue

Il existe deux méthodes qui peuvent être utilisées pour supprimer un élément depuis une PriorityQueue:

Supposons que notre sous-chef ait traité la commande n¬∞ 17 et veuille la retirer de la pile. Une fois la commande traitée, notre chef a préparé la commande no. 22 et veut le retirer de la pile.

Réf. 17 est en position 2 de notre pile et n¬∞ de commande. 22 est en position 1. Nous voulons supprimer ces éléments dans cet ordre. Nous pourrions utiliser ce code pour supprimer des commandes:

Notre code renvoie:

Brisons notre code. Tout d’abord, nous avons utilisé la méthode remove() pour supprimer l’ordre à la position 2 dans notre pile. Cette commande n¬∞17 ‚Äã‚Äãa été supprimée.

Notre code a donc imprimé un message indiquant: La commande n¬∞ 17 a-t-elle été supprimée ? suivi du résultat de remove () méthode. remove () a supprimé avec succès # 17 de notre pile, la méthode a donc renvoyé true.

Ensuite, nous avons utilisé la méthode poll () pour supprimer l’élément supérieur de notre pile. Dans ce cas, il s’agissait du numéro de commande. 22. poll () a supprimé la commande no. 22 et a renvoyé l’article supprimé. Une fois l’article retiré, nous avons imprimé le message Order # [order number remove] a été retiré de la file d’attente. dans la console.

Récupérer l’article

La méthode peek () permet de récupérer l’en-tête d’un élément de la file d’attente (le premier élément de la file d’attente). Supposons que nous voulions connaaître la valeur de la prochaine commande dans notre pile car notre sous-chef est prêt à accepter une nouvelle commande.

Nous pourrions utiliser ce code pour récupérer le numéro de table du client qui est le suivant dans le line:

Notre code renvoie:

Le premier élément de notre pile est 22, donc lorsque nous utilisons la méthode peek(), notre programme renvoie la valeur 22 dans ’last ligne de notre code, nous imprimons un message qui dit: La prochaine commande à traiter est la table # [numéro de la première commande dans la pile]., o√π le numéro de la première commande dans le stack a été découvert par peek ().

Itération dans une file d’attente prioritaire

Souvent, lorsque vous travaillez avec des files d’attente, vous souhaiterez parcourir les éléments de la file d’attente prioritaire .

Pour ce faire, on peut utiliser la méthode iterator(), qui fait partie du package java.util.Iterator. on utilise le iterator() , il faut d’abord importer le package Iterator en utilisant ce code:

Supposons que nous voulions imprimer une liste de chaque élément de notre file d’attente de commandes de restaurant sur la console. Nous pourrions le faire en utilisant ce code:

Notre code renvoie:

Dans notre code, nous ajoutons d’abord quatre valeurs à notre file d’attente. Nous utilisons ensuite la méthode iterator () pour créer un itérateur que nous pouvons utiliser pour examiner chaque élément de notre file d’attente prioritaire. Nous créons donc un while qui parcourt chaque élément de notre itérateur - pour chaque élément de la file d’attente order - et imprime la valeur suivante dans la file d’attente.

Méthodes PriorityQueue supplémentaires

Il existe trois autres méthodes souvent utilisées avec la classe PriorityQueue. Ce sont les suivantes:

Nom de la méthode Description
taille () Renvoie la longueur de la file d’attente.
toArray () Convertit la file d’attente en un tableau.
contient (elementName) Recherchez dans la file d’attente un élément .

Conclusion

La classe PriorityQueue est utilisée en Java pour implémenter l’interface Queue. Les files d’attente utilisent la structure de données FIFO, donc le premier entré est le premier sorti.

Ce didacticiel a montré les bases de la mise en file d’attente et des PriorityQueues en Java. Nous avons également expliqué comment créer une file d’attente et les principales méthodes que vous pouvez utiliser pour récupérer des éléments et manipuler une file d’attente.

Vous avez maintenant les outils dont vous avez besoin pour commencer à utiliser la classe Java PriorityQueue comme un pro !

>

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