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.
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.
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!