welchen container?
-
HALLO.
ich habe eine frage. ich habe mir folgenden container definiert:
typedef std::pair <int,int> MyPairInt; vector <MyPairInt> MyVecPairInt;so, diesen fülle ich nun im laufe meines programms mit einer ganzen menge an werten. danach will ich diese werte sortieren, in dem zunächst die werte im ersten wert und danach für werte, deren "first"-wert identisch ist, diese nach der grösse des "second"-wertes sortiert werden. leider dauert das alles ziemlich lange, wenn ich das folgender massen mache:
for (j=0;j<(int)TT_IMAGE.size()-1;j++) { for (k=j+1;k<(int)TT_IMAGE.size();k++) { if (TT_IMAGE[j].first > TT_IMAGE[k].first) std::swap (TT_IMAGE[j],TT_IMAGE[k]); } } for (j=0;j<(int)TT_IMAGE.size()-1;j++) { for (k=j+1;k<(int)TT_IMAGE.size();k++) { if (TT_IMAGE[j].first != TT_IMAGE[k].first) break; if (TT_IMAGE[j].second > TT_IMAGE[k].second) std::swap(TT_IMAGE[j],TT_IMAGE[k]); } }gibt es eine möglichkeit, das ganze zu beschleunigen?
DANKE.
STICK.
-
#include <algorithm> std::sort(TT_IMAGE.begin(), TT_IMAGE.end());
-
@finix: VIELEN DANK, klappt sehr gut.