【发布时间】:2010-12-01 20:46:22
【问题描述】:
我们有一个键和值都是 int 类型的映射。我们必须在地图中搜索特定值并将这些键收集到一个向量中。 代码快照就像
map<int,int>m;
map<int,int>::iterator itr;
vector<int> v;
m.insert(make_pair<int,int>(1,2));
m.insert(make_pair<int,int>(2,2));
m.insert(make_pair<int,int>(3,2));
m.insert(make_pair<int,int>(4,4));
m.insert(make_pair<int,int>(5,5));
目前的代码是这样的:
for ( itr = m.begin(); itr != m.end(); ++itr )
{
if ((*itr).second == 2 )
v.push_back((*itr).first )
}
我们喜欢对其进行优化。我们如何使用 STL 算法。
【问题讨论】: