Multimap nicht Sortieren

Habe ich diese multimap gebaut, um die Karte der hamming-Abstand einer Zeichenkette die entsprechende Zeichenkette.

Da der hamming-Abstand zweier strings können gleich sein, ich will, dass Sie in aufsteigender Reihenfolge sortiert werden. Jedoch wenn ich drucken Sie es aus, es ist nicht sortiert. Die hamdistArray ist deklariert als unsigned-Typ.

typedef multimap<unsigned, string, less<unsigned> > Check;
            Check pairs; 

            pairs.insert(Check::value_type(hamdistArray[j], d.sortedWordDatabase[j]));

            for(Check::const_iterator iter = pairs.begin(); iter != pairs.end(); ++iter)
            {
                cout << iter->first << '\t' << iter->second<< endl;
            }
  • Check ist ein dummer name für diese Art.
  • Ich sehe nicht, wie deine gepostete code ist ein Testfall, wie Sie nur einfügen einen Wert.
  • Geret'kal Der code innerhalb einer for-Schleife, daher das "j". Überprüfen Sie gewählt wurde, weil es behebt ein string basiert auf, wie nahe seine hamming-Distanz ist, aus einer Datenbank.
  • Geben Sie bitte auch die Schleife in Ihrem Testfall. Check ist eine dumme Namen: der Typ keine richtige nichts, es ist ein geben, nicht ein Verfahren. Es ist der name einer Art von Datenspeicherung, nicht ein Algorithmus, der mutiert Daten.
  • Geret'kal: ich Schätze Ihre Einsicht. Könnte es nicht Sinn machen, um Ihnen die Namen, die ich ausgesucht habe für diese Art. Ich hoffe, es wird nicht behindern Ihre Fähigkeit zu helfen, mir meine Frage beantworten obwohl. 🙂
InformationsquelleAutor Xann | 2011-03-02
Schreibe einen Kommentar