Partage
  • Partager sur Facebook
  • Partager sur Twitter

Garantie de Tas de priority_queue ?

Sujet résolu
    17 décembre 2007 à 14:00:50

    Bonjour a tous !

    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 ?

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter

    Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

      17 décembre 2007 à 15:46:06

      salut!

      Le probleme c'est quoi exactement? d'ou te vien cette impression?

      edit: t'as été voir du coté des algo STL de manipulation de tas?
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2007 à 16:24:29

        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.

        En tout cas merci de m'avoir lu.
        • Partager sur Facebook
        • Partager sur Twitter

        Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

          17 décembre 2007 à 19:18:52

          Il faut que tu changes de clé.
          • Partager sur Facebook
          • Partager sur Twitter

          Garantie de Tas de priority_queue ?

          × 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.
          • Editeur
          • Markdown