Problem mit Vektoren (Sortieren)
-
class Test { private: int SortVal1 ; int SortVal2 ; //Verschiedene Werte public: //Verschiedene Funktionen } ;
Die ganze klasse ist jetzt in eine vector-liste implementiert:
vector<Test *> TestList
funktioniert bisher auch... ABER!
jetzt will ich das ganze nach werten innerhalb von class Test sortieren.
wie bekomme ich jetzt die funktion std::sort()?std::sort(TestList.begin(), TestList.end())
sortiert meiner meinung nach nach den Zeigerwerten...
ich will aber nach den werten SortVal1/SortVal2 sortieren...
wie bekomm ich das hin?
-
ich antworte mir einfach mal selber
hab ne lösung gefunden...man muss eine funktion definieren, die die beiden listenelemente vergleicht
bool Compare(Test * a, Test * b) { //Elemente vergleichen und true/false zurückliefern }
und das ganze wird dann so aufgerufen
std::sort(TestList.begin(), TestList.end(), Compare/*ACHTUNG: ohne klammern*/)
-
Das nächste mal bitte im richtigen Forum posten.
-
ich hab doch im c++-forum gepostet oder?
was ist daran denn nicht ok?
-
C++/CLI mit .NET FAQ/Archiv
C++ mit .NET? C++ mit WinForms? Nennt sich C++/CLI, oder in der früheren Version Managed C++. Programmierung des .NET-Frameworks mit C++, oder Fragen zu den Erweiterungen von C++/CLI mit dem Visual Studio.C++ FAQ/Archiv
Fragen zu bestimmten Funktionen und Abläufen in C++ (nach dem ISO-Standard), damit man mal erfährt, was pure virtual bedeutet, oder wie das mit den Templates und der STL geht. Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!
-
danke
hätt ich vielleicht lesen sollen...