您的位置:首页 > 其它

set容器中放入结构体时需要重载运算符<

2016-05-09 17:43 204 查看
今天在做百度之星热身赛时候 发现我的Set容器不行了   由于放入的是结构体 总是报错 

找了n久的错误啊   也没有找到 最后和别人的代码对比才发现少些了一部分

在网上又搜搜 发现当set容器放入结构体内容是 需要重载运算符<   也就是写出来比较规则

struct node
{
int a,b,c,d;
bool friend operator<(node x,node y)
{
if(x.a<y.a) return true;
if(x.a==y.a&&x.b<y.b) return true;
if(x.a==y.a&&x.b==y.b&&x.c<y.c) return true;
if(x.a==y.a&&x.b==y.b&&x.c==y.c&&x.d<y.d) return true;
return false;
}
}code[1005],ip[55];

写完这些之后就可以定义set<node>s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: