Для сравнения двух векторов и удаления из первого вектора элементов второго вам потребуется использовать стандартные алгоритмы и функции STL. Вот примерный алгоритм, который позволит вам выполнить это:
Создайте два вектора A и B.Наполните их произвольными данными.Примените стандартную функцию std::sort для сортировки обоих векторов.Используйте стандартную функцию std::set_difference для нахождения разности между векторами.Примените стандартную функцию std::erase для удаления элементов из первого вектора.
Вот пример кода на C++, демонстрирующий данный алгоритм:
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> A = {1, 2, 3, 4, 5}; std::vector<int> B = {3, 4, 5, 6, 7}; std::sort(A.begin(), A.end()); std::sort(B.begin(), B.end()); std::vector<int> result; std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::back_inserter(result)); A = result; for (int i : A) { std::cout << i << " "; } return 0; }
Этот код сначала сравнивает два вектора A и B, сортирует их, находит разность между ними и затем удаляет элементы второго вектора из первого. В итоге останутся только элементы из первого вектора, которых нет во втором.
Для сравнения двух векторов и удаления из первого вектора элементов второго вам потребуется использовать стандартные алгоритмы и функции STL. Вот примерный алгоритм, который позволит вам выполнить это:
Создайте два вектора A и B.Наполните их произвольными данными.Примените стандартную функцию std::sort для сортировки обоих векторов.Используйте стандартную функцию std::set_difference для нахождения разности между векторами.Примените стандартную функцию std::erase для удаления элементов из первого вектора.Вот пример кода на C++, демонстрирующий данный алгоритм:
#include <iostream>#include <vector>
#include <algorithm>
int main() {
std::vector<int> A = {1, 2, 3, 4, 5};
std::vector<int> B = {3, 4, 5, 6, 7};
std::sort(A.begin(), A.end());
std::sort(B.begin(), B.end());
std::vector<int> result;
std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::back_inserter(result));
A = result;
for (int i : A) {
std::cout << i << " ";
}
return 0;
}
Этот код сначала сравнивает два вектора A и B, сортирует их, находит разность между ними и затем удаляет элементы второго вектора из первого. В итоге останутся только элементы из первого вектора, которых нет во втором.