Maison  >  Article  >  Java  >  Files d'attente prioritaires

Files d'attente prioritaires

王林
王林original
2024-07-20 09:01:101017parcourir

Les files d'attente prioritaires peuvent être implémentées à l'aide de tas. Une file d’attente ordinaire est une structure de données premier entré, premier sorti. Les éléments sont ajoutés à la fin de la file d'attente et supprimés du début. Dans une file d'attente prioritaire, les éléments se voient attribuer des priorités. Lors de l'accès aux éléments, l'élément ayant la priorité la plus élevée est supprimé en premier. Par exemple, la salle d'urgence d'un hôpital attribue des numéros prioritaires aux patients ; le patient ayant la plus haute priorité est traité en premier.

Une file d'attente prioritaire peut être implémentée à l'aide d'un tas, dans lequel la racine est l'objet ayant la priorité la plus élevée dans la file d'attente. Les tas ont été introduits dans Heap Sort. Le diagramme de classes de la file d'attente prioritaire est présenté dans la figure ci-dessous. Son implémentation est donnée dans le code ci-dessous.

Image description

Image description

Le code ci-dessous donne un exemple d'utilisation d'une file d'attente prioritaire pour les patients. La classe Patient est définie aux lignes 21 à 38. Quatre patients sont créés avec des valeurs de priorité associées aux lignes 6 à 9. La ligne 8 crée une file d'attente prioritaire. Les patients sont mis en file d'attente dans les lignes 12 à 15. La ligne 18 retire un patient de la file d'attente.

Image description

Cindy(priorité :7) Tim(priorité :5) John(priorité :2) Jim(priorité :1)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Tri à bullesArticle suivant:Tri à bulles