std::map<int,string>, MaxKey und MinKey finden



  • Hallo!

    Wie kann ich den maximalen und minimalen Intschlüssel ermitteln? mit

    map.begin()->first und map.begin()->end sind stellenweise die Werte vertauscht.
    Mit std::max_element(map.begin(), map.end()) kann ich nicht arbeiten, weil diese Methode wohl einen nicht konstanten Forwarditerator verwendet. Meine Methode selbst ist aber const.

    Was tun 😕



  • if (!map.empty()) {
      map<int,string>::iterator min_it = map.begin();
      map<int,string>::iterator max_it = map.end();
      --max_it;
      cout << min_it->first << endl;
      cout << max_it->first << endl;
    }
    


  • krümelkacker schrieb:

    map<int,string>::iterator max_it = map.end();
      --max_it;
    

    ->

    map<int,string>::reverse_iterator max_it = map.rbegin();
    


  • Perfekt, danke


Log in to reply