求两个数组的交集

Finding intersection of two arrays

本文关键字:数组 两个      更新时间:2023-10-16

我很难找到我的代码出了什么问题-起初我以为我完成了,但后来我发现了一些问题。我正在创建一个名为bagIntersection的函数,它接受两个包对象,并在两个包中找到共同的物品,然后将它们放入一个新包中:

例如,如果bag有物品{"b", "b", "c"},而bag2有物品{"b", "b", "d", "e"},则函数调用:

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

应该只在resultBag中返回字符串"b"。我的函数bagIntersection返回{"b","b"}到resultBag。所以我得到了b的倍数。

(code removed)代码正确

如果你想删除重复的内容,你可以这样做,例如:

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

则只有一个"b"