【发布时间】:2023-03-14 12:02:01
【问题描述】:
这是我的代码;我发现排序不适用于此地图中的矢量。有谁知道为什么?
这段代码的输出仍然是“3 1 2 4 5”
map<int, vector<int> > values;
values[1] = {3,1,2,4,5};
for(auto g: values) {
sort(g.second.begin(), g.second.end());
}
for(int i=0;i<values[1].size();i++) {
cout<<values[1][i]<<" ";
}
【问题讨论】:
-
将
auto g更改为auto& g以找出答案:-) demo -
另外,考虑为
cout循环使用 range-for 循环:for(auto value : values[1]) { cout << value << " "; }
标签: c++ algorithm sorting vector range-based-loop