急!如何在set中快速查找符合某一个条件的元素
我定义了一个set:
set<Item *> children;
items中有一些元素。item的定义如下:
class Item
{
public:
Item(int newId, int newSupport){id=newId; support=newSupport;next=0; parent=0;}
~Item(){}
void addChild(Item *item) {children.insert(item);}
int id; //节点id。
int support; //结点支持度
Item *next; //指针链上的下一个节点。
Item *parent; //父节点。
set<Item *> children; //子结点的集合。
};
我想在children中快速的查找id和我所指定的id相等的item,请问该如何实现呢?因为children中存的是Item的指针,而不是Item本身,不知道除了手工便利children,一个一个的比较以外,有没有直接用find()或find_if()实现的方法?