Ich verwende die map Klasse um ein Konfigurationsfile zu lesen und zu schreiben.
Um sicher zu gehen das aM das gleiche wie Am ist, verwende ich eigene Sortierkriterien. (http://developer.rothmichael.de/c/nocase_compare.html)
Es funktioniert ja auch ganz gut. Aber: Die map klasse sortiert von Natur aus.
Gibt es eine Möglichkeit der klasse map zu verbieten die Elemente beim einfügen zu sortieren ?
Ich brauche genau die reihenfolge die ich beim einfügen verwende. Es muß auch sichergestellt sein, das
map.find() AM findet wenn nur am in map->first() steht.
Hi Michael
Die map der STL baut einen binären Suchbaum auf. Meistens sogar einen Rot-Schwarz-Baum, um eine Entartung des Baumes zur linearen Liste zu vermeiden. Beim Einfügen wird daher immer geordnet eingefügt, sonst würde die Suchbaum-Eigenschaft (links in einer Liste?
Ich brauche genau die reihenfolge die ich beim einfügen
verwende.
Dann nimm einen Vector von pairs ))
cu Stefan.
Mit einer Map geht es nicht. Wie wäre es, wenn du die Daten
als Menge ablegst? Oder als pair in einer Liste?
Hm, gefällt mir gut die Idee. Soweit bin ich denke ich noch nicht. Muß erst mal etwas mehr erfahrung sammeln
Momentan mache ich folgendes:
typedef map,basic_string,NoCase_Compare,T> > MapKey;
typedef map,MapKey*,NoCase_Compare,T> > Ini;
Ini * ini;
Das konstrukt wird mir noch etwas zu kompliziert:
typedef list,basic_string > > MapKey;
typedef list,MapKey*> > Ini;
Ini * ini;
Ich muß mir erst mal gedanken machen wie ich in diesem fall in einer Liste suche etc.
Aber es ist die Lösung für das Problem
Ich brauche genau die reihenfolge die ich beim einfügen
verwende.Dann nimm einen Vector von pairs
))
Vectoren…
Werd ich mir auch mal ansehen. Mal schaun was besser ist - listen oder Vectoren ?
Hmm… hab doch erst angefangen mit STL )))
TNX
Micha