PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QMap



Kirsche
29-11-2005, 18:45
Hallo Leute,

wenn man unter QMap int-Werte als Key benutzt, wird dann richtig sortiert? Also 1, 2, 3 ... oder 1, 10, 11,..., 2 ?

Mein Problem ist Folgendes:

Ich möchte eigentlich Werte in eine Tabelle eintragen. Diese Werte erhalte ich allerdings nicht in der richtigen Reihenfolge, sondern völlig durcheinander. Es dauert sehr lange, diese vielen Werte in die Tabelle einzufügen.

Darum möchte ich die Werte vorher in die richtige Reihenfolge bringen und anschließend kontinuierlich in die Tabelle eintragen. Geht das mit QMap, oder gibt es eine schnellere und einfachere Lösung?

Vielen Dank,

anda_skoa
29-11-2005, 21:59
Das hängt von der Implementierung der Map ab, also ob sie zB als balanzierter Baum implementiert ist.

Weiß nicht ob das vorgeschrieben ist.

Besser du sortierst deine Datenobjekte. Entweder selbst oder mit einem der Standard Sortieralgorithmen.

Ciao,
_

Kirsche
29-11-2005, 22:53
Hallo anda_skoa,

und in welchen Container packe ich die Daten an besten? Ich habe die Daten in verschachtelten Listen und die Zuordnung in anderen Listen. Ich laufe die Zuordnungen ab und setzte die Daten entsprechend in die Tabelle. Nun brauche ich einen Container, in dem ich die Daten und die Zuordnung ablege, und anschließend kann ich sortieren. Die Zuordnung ist allerdings zweidimensional, also ein x- und ein y-Wert. Theoretisch kann ich aber auch alles hintereinander ablegen. Beim Eintragen in die Tabelle muss ich dann am Ende einer Zeile wieder vorne anfangen.

Schöne Grüße,

bmann
30-11-2005, 18:17
Hi
aus der Qt (3.x) Doku:


[...]. In addition, notice that the items are sorted alphabetically (by key) when iterating over the map.

Wenn du aber ohnehin keine key-value Zuordnung brauchst, ist evtl. QValueList oder QValueVector geeigneter? Das kannst du dann mittels qHeapSort() sortieren.


CU
Andi