查找两个数组

时间:2016-09-22 20:23:57

标签: c++ arrays

我无法找到我的代码有什么问题 - 起初我以为我已经完成了,但后来我发现了一些问题。我正在创建一个名为bagIntersection的函数,该函数接收两个bag对象并在两者中查找常用项,然后将它们放入一个新包中:

例如,如果包有物品{" b"," b"," c"}而bag2有物品{" b&#34 ;,b"," d"," e"},函数调用:

ArrayBag<std::string> resultBag = bag.bagIntersection(bag2);

应该只返回字符串&#34; b&#34;在resultBag中。我的函数bagIntersection将{&#34; b&#34;,&#34; b&#34;}返回到resultBag中。所以不知怎的,我得到了&#34; b&#34;的倍数。

(代码已删除)代码正确无误。

1 个答案:

答案 0 :(得分:1)

如果要删除重复项,可以使用矢量容器执行此操作,例如:

std::sort(v.begin(), v.end());
v.erase(std::unique(v.begin(), v.end()), v.end());

你将只有一个&#34; b&#34;。