En ce moment j'ai besoin d'une structure de type priority_queue mais je dois pouvoir parcourir la file pour mettre à jour certains éléments.
Seulement vous le savez sans doute :
Mais je sais aussi que derrière la file ce cache un autre container standard (par défaut le vector)Priority_queue does not allow iteration through its elements
Est il possible de parcourir ce vector ou est t il définitivement caché par l'implémentation ?Priority_queue is a container adaptor, meaning that it is implemented on top of some underlying container type. By default that underlying type is vector, but a different type may be selected explicitly.
Si ce n'est pas possible, ce que je crains, une idée sur la structure qui conviendrait le mieux au problème ? Sachant que :
- les éléments sont triés par priorités
- pas de doublons
- normalement on a besoin d'acceder seulement au premier élément de la file et faire un pop() dessus
- Mais de temps en temps on doit pouvoir mettre a jour les éléments restants dans la file
Pour l'instant je suis sur une structure perso composée d'un set trié selon la priorité et j'essaye de gérer moi même ke caractère fifo. Seulement je ne suis pas sur que le set soit tip-top niveau suppression du premier élément.
Partager