Я попытаюсь объяснить мою проблему на следующем примере:
vector<pair<string, string>> a = { { "A","1" }, {"B","2" },{ "C","3" },{ "D","3" },{ "E","5" } };
vector<pair<string, string>> b = { { "A","1" },{ "B","3" },{ "D","3" },{ "E","4" },{ "Z","5" } };
Какой будет наиболее эффективный способ удаления дубликатов и получения выходных данных в тех же векторах?Количество пар довольно большое, скажем, около 100 000.
Оба вектора отсортированы по первому элементу.
vector<pair<string, string>> a = { { "B","2" },{ "C","3" },{ "E","5" } };
vector<pair<string, string>> b = { { "B","3" },{ "E","4" },{ "Z","5" } };
Дело в том, что мне нужносравнить эти векторы после удаления дубликатов.Первый элемент в паре - это путь к файлу, а второй - контрольная сумма для него.Так, например, если у меня есть "B","2"
в первом контейнере, а "B","3"
- во втором, я могу перечислить этот файл как «измененный».Я открыт для использования std::set
, если это облегчит эту проблему.