Vector sortieren, gibt es da eine Funktion?
-
Ein Freund meinte mal zu mir das ein Vector bereits eine Funktion besitzt um sich selber zu sortieren, nur bei cppreference.com oder hier mit der suche finde ich gar nichts, gibt es die überhaupt?
-
Hallo,
soetwas funktioniert:
vector<int> menge; // Menge irgendwie initialisieren sort(menge.begin(), menge.end());
Also: sort
MfG
-
bevor ich da wild rumprobiere, wonach sortiert er? Nehme an nach dem alphabet?
-
Öhh wollte es testen, mein visual studio zeigt mir an was in die funktion rein soll, aber beim compilieren meint er sie nicht zu kennen.
in der msdn steht auch nichts davon das man eine best. header braucht
-
Hallo,
ich glaube du musst <algorithm> einbinden.
-
bevor ich da wild rumprobiere
bißchen wild rumprobieren schadet gar nicht
Nehme an nach dem alphabet
sicherlich, das bietet sich bei int ja besonders an
er sortiert via op< , d.h. bei vector<int> von kleinen ints nach großen ints
-
Das ich einen string benutze konntet ihr ja nicht wissen
-
funzt imho auch mit strings... da wird dann naheliegender weise lexikographisch sortiert
-
Was du brauchst ist Multiset
Multiset ist eine Menge, bei der die Elemente mehrfach vorkommen dürfen und automatisch nach ihrem Wert sortiert werden:multiset<string> menge; multiset<string>::iterator it; menge.insert("AAB"); menge.insert("CCC"); menge.insert("BBA"); for(it = menge.begin(); it != menge.end(); ++it) { }
#include <set> // nicht vergessen!
bevor ich da wild rumprobiere
Probieren geht über studieren. Ohne probieren kommst du nicht weit..
MfG
-
Hallo,
mir ist probieren meistens zu zeitaufwendig. Eine stl-referenz tuts auch finde ich.
btw. std::sort funktioniert auch mit nem prädikat. Hilfreich bei eigenen Klassen.