Obtenir la valeur de l'élément dans la file d'attente avec la priorité la plus élevée devrait être préférée.Comment puis-je prioriser l'implémentation de la file d'attente en utilisant une file d'attente circulaire en C++?
Répondre
Avez-vous besoin de plusieurs files d'attente, chacune avec des priorités différentes? Quel est le problème que vous essayez réellement de résoudre? L'idée d'une file d'attente est la suivante: il s'agit d'une file d'attente, et la priorité de la file d'attente est prioritaire, et vous ne devez parcourir la file d'attente qu'en la faisant disparaître. Implémenter une file d'attente prioritaire avec une autre file d'attente - circulaire ou non - n'est pas la chose la plus efficace à faire. Vous pouvez l'implémenter comme un tas ou un arbre à la place - il y a un certain nombre d'articles, dont un sur Wikipedia on priority queues.
Oui, et une file d'attente prioritaire est différente http://en.wikipedia.org/wiki/Priority_queue – Falmarri
Si nous parlons de plusieurs niveaux de priorité (1000 par exemple) alors les files d'attente multiples ne sont pas la meilleure solution. – Dialecticus
@Falmarri - je ne sais pas si vous avez lu ou interprété ma réponse correctement. Faire une file d'attente prioritaire avec une autre file d'attente n'a aucun sens - pensez que vous avez manqué le point. –
Vous pouvez faire en sorte qu'une file d'attente prioritaire soit implémentée en tant que segment de mémoire binaire min. Les clés de chaque entrée peuvent représenter sa «priorité» et plus la clé est basse, plus elle a de priorité. Ainsi, la suppression de l'entrée racine renvoie l'entrée avec la priorité la plus élevée.
- 1. Problème de file d'attente circulaire
- 2. Comment ce code dans java serait changé pour en faire une file d'attente circulaire en utilisant la liste chaînée?
- 3. comment trier une file d'attente en utilisant (juste) une autre file et quelques variables, en moins de O (n^2)?
- 4. Quelle implémentation de la file circulaire est la meilleure?
- 5. type FILE personnalisé en C/C++
- 6. Comment utiliser une file d'attente prioritaire en C++?
- 7. Ajax File Télécharger en utilisant Jquery, PHP
- 8. Implémentation d'une file d'attente FIFO en C
- 9. Insérez dans une file d'attente STL en utilisant std :: copy
- 10. Utilisation d'une file d'attente dans une situation multithread en C#
- 11. Comment obtenir la valeur de pièce jointe de "$ File" Item? en utilisant C# (Lotus Notes)
- 12. File d'attente prioritaire en Java
- 13. Verrouiller la pile libre et la file d'attente en C#
- 14. comment copier en profondeur une file d'attente en python
- 15. C# App.Config File
- 16. TFS/File Checkout de C#
- 17. En file d'attente Scripty2 animations
- 18. File d'attente élémentaire en Java
- 19. C++ file d'attente modèle
- 20. Comment afficher la boîte de dialogue Java en utilisant une autre file d'attente d'événements?
- 21. Instanciation d'une file d'attente en utilisant {a, b, c} possible en C#?
- 22. File d'attente de paquets en Python?
- 23. Simple make file question (C)
- 24. C# - File d'attente et multithread
- 25. Upload file sur le serveur de l'iPhone en utilisant ASIHTTPRequest
- 26. Mise en file d'attente de plusieurs fichiers
- 27. Utilisation de la file .queue de jquery pour mettre en file d'attente les fonctions
- 28. GUI utilisant Shell Batch File
- 29. Implémentation de la file d'attente
- 30. Création de son propre pointeur FILE * en C?
ce n'est pas une file d'attente par définition. Utilisez le tas à la place. – Drakosha
Il y a une std :: priority_queue. – Puppy
Semble avoir généré une certaine friction. Peut-être pourriez-vous ajouter un peu de contexte - combien de niveaux de priorité avez-vous? quel est le but le plus large, ou est-ce une question abstraite? Je suppose que vous voulez une file d'attente prioritaire de taille fixe? Cela peut aider certains commentateurs à répondre directement ... –