Pour un projet personnel, j'ai besoin d'implémenter un "tas". Je dois absolument garantir que le fonctionnement interne soit bien un tas, notemment pour l'insertion de doublons.
J'ai utilise std::priority_queue, car en aval, ça utilise un std::vector, donc je me dis que c'est typiquement un tas.
Le probleme, c'est que j'ai l'impression (mais l'erreur vient peut etre d'ailleurs), que les insertions ne se font pas exactement comme je le souhaiterais. bref
Ma question est :
Est ce qu'on peut garantir que std::priority_queue utilise en interne l'algorithme du tas (heap) ou alors vaut il mieux que je reprogramme moi meme l'algorithme du tas ?
le probleme est que mes valeurs sont des structures, et que, comme foncteur de comparaison, je m'appuie sur une clé.
il est alors possible que j'insere plusieurs fois la meme clé, mais le reste de la structure est différent, donc il me faut une seconde relation d'ordre que je ne trouve pas (reverse engeneering sur une variante de Huffman)
Je viens de voir qu'avec un algo de tas, ça ne résoud pas mon probleme (je viens d'implémenter une classe Heap en template et des foncteurs, ça me donne la meme chose que priority_queue)
je vais voir ailleurs.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html