Size: a a a

2021 June 22

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Ибо по пути неудобно ковырять
источник

VA

Vladislav Averkov in C++ Together 2.0
Я тут что-то придумал. Превращаю мэп в вектор и обратно
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
O_o
источник

VA

Vladislav Averkov in C++ Together 2.0
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

Vladislav Averkov in C++ Together 2.0
Да не ебу как делать это по другому
источник

VA

Vladislav Averkov in C++ Together 2.0
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

Vladislav Averkov in C++ Together 2.0
Не работает кстати почему-то
источник

VA

Vladislav Averkov in C++ Together 2.0
result вообще не выводитс
источник

VA

Vladislav Averkov in C++ Together 2.0
Во, заебись, теперь работает
источник

VA

Vladislav Averkov in C++ Together 2.0
источник

VA

Vladislav Averkov in C++ Together 2.0

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

Vladislav Averkov in C++ Together 2.0
Волшебный set_intersection есть
источник

RM

Roy Mustang in C++ Together 2.0
че за std::sort map?
источник

RM

Roy Mustang in C++ Together 2.0
Мапа же и так отсортирована
источник

VA

Vladislav Averkov in C++ Together 2.0
Я превратил мапу в вектор потом вектор в мапу
источник

VA

Vladislav Averkov in C++ Together 2.0
В рот ебал эти мапы
источник

RM

Roy Mustang in C++ Together 2.0
аа
источник

VA

Vladislav Averkov in C++ Together 2.0
У меня сэт интерсэкшн не работал с итераторами мапы почему-то
источник

RM

Roy Mustang in C++ Together 2.0
Потому что это разные контейнеры
источник

RM

Roy Mustang in C++ Together 2.0
у них итераторы разные
источник