Heapfunktionen aus <algorithm>



  • hallo,
    ich versuche zur Zeit mit make_heap, push_heap etc. aus <algorithm> aus einer std::list einen heap zu erzeugen. Das geht leider nicht, da list anscheinend keinen random-access iterator besitzt. Allerdings lese ich gerade in meinem buch, dass dies doch so ist. Ist das ein Fehler im Buch? Gibt es eine Möglichkeit, die Heapfunktionen doch zusammen mit std::list zu verwenden, oder muss ich auf std::vector ausweichen? Und wie stehts dann mit der Geschwindigkeit?
    geloescht



  • Das geht leider nicht, da list anscheinend keinen random-access iterator besitzt.

    Korrekt

    Ist das ein Fehler im Buch?

    Korrekt

    Gibt es eine Möglichkeit, die Heapfunktionen doch zusammen mit std::list zu verwenden

    Die Iteratoren wrappen 😉

    oder muss ich auf std::vector ausweichen? Und wie stehts dann mit der Geschwindigkeit?

    Viel besser, als es mit list je aussehen könnte



  • ok, danke.
    Was verstehst du unter "Iteratoren wrappen"? Heißt das, ich soll selber einen Iterator schreiben, der einen Random-Access-iterator mithilfe eines bidirektionalen ( 😃 ) simulieren (also 5 mal ++iter statt iter += 5)? Ich glaub sowas lass ich lieber 🙄 ...
    geloescht


Anmelden zum Antworten