我很难找到我的代码有什么问题--一开始我以为我已经完成了,但后来我发现了一些问题。我正在创建一个名为bagIntersection的函数,该函数获取两个袋子对象,并在这两个袋子对象中找到共同的项目,然后将它们放入一个新的袋子中:
例如,如果bag包含{"b","b","c"}项,而bag2包含{"b",b","d","e"}项,则函数调用:
ArrayBag<std::string> resultBag = bag.bagIntersection(bag2);在resultBag中应该只返回字符串"b“。我的函数bagIntersection在resultBag中返回{"b","b"}。所以不知何故我得到了倍数的"b“。
(已删除代码)代码正确。
发布于 2016-09-23 05:24:06
如果你想删除重复项,你可以像这样使用一个向量容器,例如:
std::sort(v.begin(), v.end());
v.erase(std::unique(v.begin(), v.end()), v.end());你将只有一个"b“。
https://stackoverflow.com/questions/39648253
复制相似问题