簡體   English   中英

查找兩個數組的交集

[英]Finding intersection of two arrays

我在查找代碼問題時遇到了麻煩-起初我以為自己完成了,但是后來發現了一些問題。 我正在創建一個名為bagIntersection的函數,該函數接受兩個bag對象,並在兩個對象中找到共同的項目,然后將它們放入新的bag中:

例如,如果bag具有項{“ b”,“ b”,“ c”},而bag2具有項{“ b”,b“,” d“,” e“},則函數調用:

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

應該只在resultBag中返回字符串“ b”。 我的功能bagIntersection將{“ b”,“ b”}返回到resultBag中。 所以我以某種方式得到“ b”的倍數。

(已刪除代碼)代碼正確。

如果要刪除重復項,可以使用矢量容器執行以下操作,例如:

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

並且只有一個“ b”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM