Ich versuche eine Karte zu sortieren, die einen Schlüssel als String hat, und ein Paar, das lange nicht signiert hat, wenn ich die sort() Methode von #include verwende, versuche ich den < Operator zu überladen, aber wenn ich den übergeben habe Adresse des Beginns der Karte und am Ende habe ich nicht map.first zugreifen können, map.second.first oder map.second.secondSortieren einer Karte mit einem Schlüssel und einem Paar als Wert?
hat jemand irgendwelche Ideen
map<string, pair<unsigned long long, unsigned long long>> ext_count;
sort(map.rbegin(), map.rend()); // to sort descending
bool operator < (map<string, pair<unsigned long long, unsigned long long>>& lhs, map<string, pair<unsigned long long, unsigned long long>>& rhs) {
return lhs.first < rhs.first;
}
Ähm, eine Karte ist ein sortierter Container. Sie können keine Karte sortieren – NathanOliver
Karte ist ein geordneter Container, der nicht "sortiert" werden kann - Sie können nur eine Sortierreihenfolge definieren, die immer für diese Karte verwendet wird. – SergeyA
Also, wie würde ich die Sortierreihenfolge ändern? – Nikes