0
的名单,我有以下结构的列表结构独特
struct Element
{
int id;
int groupID;
};
我想知道有多少独特的群体有
例如
list<Element> myElements;
Element e;
e.id = 0;
e.groupID = 2;
myElements.push_back(e);
e.id = 1;
e.groupID = 0;
myElements.push_back(e);
e.id = 2;
e.groupID = 2;
myElements.push_back(e);
e.id = 3;
e.groupID = 1;
myElements.push_back(e);
这里有4种元素但只有3个唯一的组ID ids 0,1,2
我试图寻找一种有效的方式来做到这一点因为我的名单越来越大。
我想这
struct groupID_unique {
bool operator() (Element first, Element second)
{ return (first.groupID != second.groupID); }
};
myElements.unique(groupID_unique());
但这返回到我2未重复IDS 0.1
'unique'是错误的方式去更多的原因。它只对有序列表非常有用(只有连续的重复被认为是重复的)并且具有破坏性(它删除了它找到的重复项) – user4581301