Tengo una aplicación Visual Studio 2008 C++ 03 donde tengo dos contenedores estándar. Me gustaría eliminar de un contenedor todos los elementos que están presentes en el otro contenedor (la intersección de los conjuntos).algoritmo para eliminar elementos en la intersección de dos conjuntos
algo como esto:
std::vector<int> items = /* 1, 2, 3, 4, 5, 6, 7 */;
std::set<int> items_to_remove = /* 2, 4, 5*/;
std::some_algorithm(items.begin, items.end(), items_to_remove.begin(), items_to_remove.end());
assert(items == /* 1, 3, 6, 7 */)
¿Existe un algoritmo existente o patrón que va a hacer esto o tengo que rodar mi propia?
Gracias
¿Hay alguna razón para el voto a favor? ¿Hay alguna manera de mejorar mi forma de formular la pregunta? ¿O solo se trata de un desempate de conducción? – PaulH