今天在做百度之星热身赛时候 发现我的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


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐