A
Size: a a a
A
VA
VA
std::vector<int> toVector(const std::map<int, int>& m)
{
std::vector<int> res;
res.reserve(m.size());
for (auto p: m)
res.push_back(p.second);
return res;
}
std::map<int, int> toMap(const std::vector<int>& v)
{
std::map<int, int> res;
for (std::size_t i = 0; i < v.size(); i++)
res[i] = v[i];
return res;
}
VA
VA
template <typename T1, typename T2>
void removeUnpaired(std::map<T1, T2>& map, std::vector<T2>& vec)
{
std::vector<T2> result;
std::vector<T2> mapV = toVector(map);
std::set_intersection
(
vec.begin(),
vec.end(),
mapV.begin(),
mapV.end(),
std::back_inserter(result)
);
for(const auto & elem :result)
std::cout << elem << ' ';
std::cout << std::endl;
std::cout << std::endl;
// map = toMap(result);
// vec = std::move(result);
}
VA
VA
VA
VA
template <typename T1, typename T2>
void removeUnpaired(std::map<T1, T2>& map, std::vector<T2>& vec)
{
std::vector<T2> result;
std::vector<T2> mapV = toVector(map);
std::sort(vec.begin(), vec.end());
std::sort(mapV.begin(), mapV.end());
std::set_intersection
(
vec.begin(),
vec.end(),
mapV.begin(),
mapV.end(),
std::back_inserter(result)
);
map = toMap(result);
vec = std::move(result);
}
VA
RM
RM
VA
VA
RM
VA
RM
RM