STL-list und sort()
-
Hi,
ich habe hier ein STL-Objekt vom Typ list, das ich zum Speichern anderer Objekte verwende. Diese dort gespeicherten OBjekte besitzen einen Operator ">". Wenn ich jetzt list.sort() aufrufe, wird diese Liste allerdings dennoch nicht soritert. Was läuft hier falsch? Geht das nicht, wenn nur der Operator vorhanden ist?
-
Erfuellt der Operator die Bedingungen: irreflexiv, antisymmetrisch und transitiv? Tritt der Fehler auch bei gewoehlichen Zahlen auf?
-
Du bräuchtest wenn schon den
operator<. Aber was heisst, die Liste wird nicht sortiert? Alles wie vorher?
-
knivil schrieb:
Erfuellt der Operator die Bedingungen: irreflexiv, antisymmetrisch und transitiv? Tritt der Fehler auch bei gewoehlichen Zahlen auf?
Welche Zahlen? Der Operator verwendet intern Strings für den Vergleich.
-
Nexus schrieb:
Du bräuchtest wenn schon den
operator<. Aber was heisst, die Liste wird nicht sortiert? Alles wie vorher?Richtig, die Liste ist komplett unverändert.
Aber wieso "<"? Alternativ erwartet sort() einen Parameter vom Typ "greater()"!?
-
Welche Zahlen? Der Operator verwendet intern Strings für den Vergleich.
Was ist bloss los, warum veraergert mich Begriffstutzigkeit heute. Ich meinte: Nimm std::list mit normalen Integerzahlen, packe sie unsortiert in eine Liste, lass sie sortieren und schaue dir das Ergebnis an. Sind die Zahlen danach sortiert, dann liegt das Problem bei deinem Vergleichsoperator.
Auch waere etwas Code von Nutzen ...
-
knivil schrieb:
Was ist bloss los, warum veraergert mich Begriffstutzigkeit heute.
Danke aber deine pampigen Postings kannst du dir echt sparen. Wenn du bitte zukünftig nicht mehr auf meine Beiträge antworten würdest, auf deine übellaunige "Hilfe" kann ich verzichten.