1.总体
struct itemID{
int value; //编号
int num; //出现频率
itemID(int a, int b): value(a), num(b){}
bool operator < (const itemID &a) const{
return (num != a.num) ? num > a.num : value < a.value;
}
};
2.符号的重载
//结构体的名称是itemID
bool operator < (const itemID &a) const{
return (num != a.num) ? num > a.num : value < a.value;
}
3.方便的赋值
在结构体中使用:
itemID(int a, int b): value(a), num(b){}
具体的使用:
//把idx赋给value, acc[idx]赋给num
auto it = s.find(itemID(idx, acc[idx]));
s.insert(itemID(idx, acc[idx]));