map sortieren


  • Mod

    Der Vollständigkeit halber, so geht das mit min_element:

    #include <iostream>
    #include <string>
    #include <map>
    #include <algorithm>
    
    using namespace std;
    
    bool compare_second(pair<string, int> lhs, pair<string, int> rhs)
    {
      return lhs.second < rhs.second;
    }
    
    int main()
    {
        map<string, int > stlmap;
        stlmap.insert(make_pair("test1",15));
        stlmap.insert(make_pair("test2",10));
        stlmap.insert(make_pair("test3",7));
        stlmap.insert(make_pair("test4",5));
        stlmap.insert(make_pair("test5",8));
    
        map<string, int >::iterator minimum = min_element(stlmap.begin(), stlmap.end(), compare_second);
    
        cout << "minwert: " << minimum->second << endl;
        cout << "minkey : " << minimum->first << endl;
    
        return 0;
    }
    

    Auch nicht so schwer, oder?



  • SeppJ schrieb:

    Ich vermute mal, dass HighLigerBiMBam dies nicht gemacht hat, um den Nutzer map nicht auch noch mit numeric_limits zu verwirren.

    Wenn es offensichtlich ist, dass der Fragesteller sich mit der Materie nicht auskennt, sollte man immer zu den einfachen Beispielen greifen. KISS ist immer das Beste um ein Problem zu erklären, auch wenn es nicht die schönste Lösung ist, welche uns von SeppJ nun bereit gestellt wurde!

    Letztlich kann jeder die einfachen Beispiele verstehen und weiter optimieren.


Anmelden zum Antworten