对重载了比较函数的SET容器,如何进行高效的查询
我定义了一个结构体,将结构体的指针存储在SET容器中,并重载了SET的比较函数。
struct link_struct
{
int link_id;
int link_cost;
……
}
class link_compare
{
public:
bool link_compare::operator() (cost link_struct* first_link, cost link_struct* second_link)
{
return(first_link->link_id < second_link->link_id);
}
}
std::set<link_struct* , link_compare> set_link;
这样可以将一个结构体存入在set容器,并按照我想要的方式排序。
但目前碰到一个问题,进行快速查找好像没有办法,如上例,在SET容器中是按照结构体中link_id进行排序,如果输入一个link_id,在set容器中快速查找不知道这么做了。