map sortieren @_@



  • Abend,

    Ich habe einen Entscheidungsbaum fuer meinen entscheidungsalgorithmus
    gemacht. nun moechte ich diesen sortieren... und zwar an hand des zweiten map
    size() in der ersten map.

    std::map<int, std::map<int, int> > graph;
    

    Ich habe schon mit std::sort versucht, und habe die comp funktion habe
    ich schon alles verschiedene versucht. funct aber ned.

    hat da jemand gerade spontan eine idee oder tipp?

    gg



  • Anscheinend hast du keine Ahnung von einem Baum... Der ist schon von Haus aus sortiert, und du musst die Compare-Funktion beim Erstellen übergeben.



  • Cool-O-Meter |X---------| schrieb:

    Anscheinend hast du keine Ahnung von einem Baum... Der ist schon von Haus aus sortiert, und du musst die Compare-Funktion beim Erstellen übergeben.

    sortiert er zur laufzeit, oder nur beim "adden"?



  • Beim adden zur Laufzeit.



  • Jo hab es gesehen.

    Aber ich kann nur auf den schluessel zugreifen...?

    Ich will es an hand von wert map.size() sortiert haben.
    Hat jemand noch ne idee?

    Danke

    // Auser ich mache den graph ueberall brauchbar, und kann via schluessel drauf
    // zugreifen, ob das aber so sauber ist...

    //EDIT

    ne funct auch ned.
    mir ist da aber noch ne idee gekommen.
    mal eine rauchen, und die Idee ausbauen.

    //Edit

    ne brachte auch nix...

    // Edit

    hat sich erledigt
    🙄 Ist doch etwas spaet, und ich habe was uebersehen...
    ich muss es garnicht sortieren koennen...

    thx @ all for all



  • Also wenn ich das richtig verstanden habe hast du maps in einer map und du willst die maps in der map nach ihrer größe sortiert haben?

    Mach das doch so:

    #include <algorithm>
    #include <map>
    using namespace std;
    
    int main()
    {
    //Hier erstellst und stopfst halt die map mit maps zu
    sort(DeineMap.begin(), DeineMap.end(), MapComp);
    //MapComp ist halt ne funktion die 0 bei gleichheit 1 wenn sie größer ist und -1 wenn sie negativ ist zurueck geben sollte! (hab den Syntax für die Funktion vergessen aber es gibt bestimmt noch andere nette leute die dies noch wissen
    


  • @tobZel: Dabei dürfte dein Compiler aber einiges zu meckern haben - eine map lässt sich nicht neu sortieren (die Schlüsselwerte sind KONSTANT, wenn du weißt, was das bedeutet).


Log in to reply