Sortierung habe ich die folgende Vektor erklärt:einen 3D-Vektor von Paaren C++
std::vector<std::vector<std::vector<std::pair<float, int>>>> depth;
ich die Paare in jedem Vektor in aufsteigender Reihenfolge nach ihrem ersten Elemente sortieren möge.
Sortierung:
for(std::vector<std::vector<std::pair<float,int>>> vec1 : depth) {
for(std::vector<std::pair<float,int>> vec2 : vec1) {
std::sort(vec2.begin(), vec2.end());
}
}
Und dann Druck:
for (std::vector<std::vector<std::pair<float,int>>> vec1 : depth) {
for (std::vector<std::pair<float, int>> vec2 : vec1) {
if(!vec2.empty() && (vec2.size() > 1)) {
for (std::pair<float, int> pr : vec2) {
std::cout << pr.first << " " << pr.second << " ";
}
std::cout << std::endl;
}
}
}
Ein Teil des Ergebnisses:
4.65514 1 3.10343 2
4.67043 1 3.11362 2
4.68594 1 3.12396 2
Wie es sein sollte:
3.10343 2 4.65514 1
3.11362 2 4.67043 1
3.12396 2 4.68594 1
Jede Hilfe wird geschätzt, da mir wirklich die Dinge ausgingen, um zu versuchen, und ich kann nicht herausfinden, was ich falsch mache.
Sie Sortier Kopien. Tippfehler. – LogicStuff
Sortierung mithilfe von Referenzen 'std :: vector >> & vec1' –
Galik