C++ - STL--make_heap mit pair<int,Zeichenfolge> als Datentyp

Ich wissen, wie funktioniert heap arbeiten und wie Sie ordnet min und max Elemente. Es ist einfach, wenn der Vektor enthält nur int anwenden make_heap in STL. Aber wie wendet man make_heap() wenn Vektor enthält die Struktur von string und int. Iwant zu machen heap basiert auf int Wert in der Struktur.
Bitte sagen Sie mir, was zu tun ist.

  • Was haben Sie versucht? Insbesondere haben Sie versuchen, geben einen expliziten Vergleich-Funktion?
  • Ich weiß nicht, wie zu tun, Vergleich Spaß...
  • Es ist schon eine Weile her, seit ich habe gesucht, aber nicht pair kommen mit einer Ordnung, die tut, was Sie wollen?
  • Die Standard-Reihenfolge für std::pair ist die lexikographische Bestellung. Das bedeutet, dass beide Elemente des Paares berücksichtigt werden, für die Bestellung, nicht nur die erste. Für die heap-die OP ist zu bauen, kann es (vielleicht) egal, aber für ein stabiles Sortieren würde.
  • Sie brauchen nicht Ihre eigenen Vergleich-Funktion. Siehe meine Antwort und die links darin.
Schreibe einen Kommentar