小编Iro*_*ing的帖子

删除两个向量中的重复项

我将尝试使用以下示例解释我的问题:

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" } };
Run Code Online (Sandbox Code Playgroud)

什么是最有效的方法来擦除重复并将输出到相同的向量?对的数量非常大,比如大约10万.

两个向量都按第一个元素排序.

vector<pair<string, string>> a = { { "B","2" },{ "C","3" },{ "E","5" } };

vector<pair<string, string>> b = { { "B","3" },{ "E","4" },{ "Z","5" } };
Run Code Online (Sandbox Code Playgroud)

问题是,我需要在删除重复项后比较这些向量.该对中的第一个元素是文件路径,第二个元素是它的校验和.因此,例如,如果我"B","2"在第一个容器中,并且"B","3"是第二个,我可以将此文件列为"已修改".std::set如果这会使这个问题更容易,我愿意使用.

c++ algorithm vector duplicates std-pair

2
推荐指数
1
解决办法
635
查看次数

标签 统计

algorithm ×1

c++ ×1

duplicates ×1

std-pair ×1

vector ×1